From 80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed Mon Sep 17 00:00:00 2001
From: Ludovic CHEVALIER
Date: Mon, 10 Feb 2014 16:57:44 +0100
Subject: [PATCH] [SPIP] +2.1.12
---
www/CHANGELOG.txt | 865 ++
www/COPYING.txt | 674 +
www/INSTALL.txt | 15 +
www/config/mes_fonctions.php | 50 +
www/config/remove.txt | 3 +
www/ecrire/action/acceder_document.php | 124 +
www/ecrire/action/activer_plugins.php | 66 +
www/ecrire/action/auth.php | 45 +
www/ecrire/action/changer_mode_document.php | 52 +
www/ecrire/action/charger_plugin.php | 305 +
www/ecrire/action/configurer.php | 53 +
.../action/configurer_notifications_forum.php | 29 +
.../action/configurer_previsualiseur.php | 27 +
www/ecrire/action/configurer_relayeur.php | 38 +
www/ecrire/action/confirmer_email.php | 35 +
www/ecrire/action/converser.php | 63 +
www/ecrire/action/cookie.php | 81 +
www/ecrire/action/copier_local.php | 71 +
www/ecrire/action/dater.php | 93 +
www/ecrire/action/desinstaller_plugin.php | 47 +
www/ecrire/action/documenter.php | 90 +
www/ecrire/action/editer_article.php | 364 +
www/ecrire/action/editer_auteur.php | 245 +
www/ecrire/action/editer_auteurs.php | 133 +
www/ecrire/action/editer_breve.php | 214 +
www/ecrire/action/editer_groupe_mot.php | 57 +
www/ecrire/action/editer_message.php | 214 +
www/ecrire/action/editer_mot.php | 49 +
www/ecrire/action/editer_mots.php | 96 +
www/ecrire/action/editer_rubrique.php | 184 +
www/ecrire/action/editer_signatures.php | 67 +
www/ecrire/action/editer_site.php | 290 +
www/ecrire/action/editer_url.php | 154 +
www/ecrire/action/export_all.php | 108 +
www/ecrire/action/iconifier.php | 120 +
www/ecrire/action/index.php | 1 +
www/ecrire/action/instituer_article.php | 46 +
www/ecrire/action/instituer_auteur.php | 36 +
www/ecrire/action/instituer_breve.php | 33 +
www/ecrire/action/instituer_collaboration.php | 29 +
www/ecrire/action/instituer_forum.php | 86 +
www/ecrire/action/instituer_groupe_mots.php | 57 +
.../action/instituer_langue_rubrique.php | 46 +
.../action/instituer_rubrique_breves.php | 38 +
www/ecrire/action/instituer_site.php | 33 +
www/ecrire/action/instituer_syndic.php | 28 +
www/ecrire/action/joindre.php | 265 +
www/ecrire/action/legender.php | 80 +
www/ecrire/action/logout.php | 57 +
www/ecrire/action/petitionner.php | 55 +
www/ecrire/action/poster_forum_prive.php | 86 +
www/ecrire/action/preferer.php | 57 +
www/ecrire/action/purger.php | 55 +
www/ecrire/action/redirect.php | 36 +
www/ecrire/action/referencer_traduction.php | 63 +
www/ecrire/action/regler_moderation.php | 41 +
www/ecrire/action/reorganiser.php | 91 +
www/ecrire/action/supprimer.php | 66 +
www/ecrire/action/supprimer_document.php | 56 +
www/ecrire/action/supprimer_traduction.php | 38 +
www/ecrire/action/tester.php | 142 +
www/ecrire/action/tester_taille.php | 93 +
www/ecrire/action/tourner.php | 232 +
www/ecrire/action/virtualiser.php | 36 +
www/ecrire/auth/ldap.php | 184 +
www/ecrire/auth/sha256.inc.php | 446 +
www/ecrire/auth/spip.php | 339 +
www/ecrire/balise/formulaire_.php | 229 +
www/ecrire/balise/formulaire_admin.php | 221 +
.../balise/formulaire_ecrire_auteur.php | 61 +
www/ecrire/balise/formulaire_forum.php | 106 +
www/ecrire/balise/formulaire_inscription.php | 38 +
www/ecrire/balise/formulaire_recherche.php | 24 +
www/ecrire/balise/formulaire_signature.php | 60 +
www/ecrire/balise/formulaire_site.php | 39 +
www/ecrire/balise/index.php | 1 +
www/ecrire/balise/login_prive.php | 41 +
www/ecrire/balise/login_public.php | 42 +
www/ecrire/balise/logo_.php | 125 +
www/ecrire/balise/menu_lang.php | 39 +
www/ecrire/balise/menu_lang_ecrire.php | 68 +
www/ecrire/balise/url_.php | 220 +
www/ecrire/balise/url_logout.php | 32 +
www/ecrire/base/abstract_sql.php | 583 +
www/ecrire/base/admin_repair.php | 114 +
www/ecrire/base/auxiliaires.php | 331 +
www/ecrire/base/connect_sql.php | 358 +
www/ecrire/base/convert_sql_utf8.php | 129 +
www/ecrire/base/convert_utf8.php | 159 +
www/ecrire/base/create.php | 115 +
www/ecrire/base/delete_all.php | 40 +
www/ecrire/base/delete_statistiques.php | 34 +
www/ecrire/base/dump.php | 199 +
www/ecrire/base/import_all.php | 122 +
www/ecrire/base/index.php | 1 +
www/ecrire/base/serial.php | 394 +
www/ecrire/base/trouver_table.php | 149 +
www/ecrire/base/typedoc.php | 310 +
www/ecrire/base/upgrade.php | 239 +
www/ecrire/charsets/cp1250.php | 50 +
www/ecrire/charsets/cp1251.php | 33 +
www/ecrire/charsets/cp1256.php | 34 +
www/ecrire/charsets/html.php | 39 +
www/ecrire/charsets/index.php | 1 +
www/ecrire/charsets/iso-8859-1.php | 31 +
www/ecrire/charsets/iso-8859-15.php | 31 +
www/ecrire/charsets/iso-8859-6.php | 41 +
www/ecrire/charsets/iso-8859-9.php | 29 +
www/ecrire/charsets/mathml.php | 1693 +++
www/ecrire/charsets/translit.php | 100 +
www/ecrire/charsets/translitcomplexe.php | 51 +
www/ecrire/configuration/accueil.php | 56 +
www/ecrire/configuration/annonces.php | 125 +
www/ecrire/configuration/articles.php | 122 +
www/ecrire/configuration/avertisseur.php | 38 +
www/ecrire/configuration/breves.php | 46 +
www/ecrire/configuration/compresseur.php | 101 +
www/ecrire/configuration/compteur.php | 51 +
www/ecrire/configuration/contenu_forums.php | 94 +
www/ecrire/configuration/documents.php | 57 +
www/ecrire/configuration/forums_prives.php | 53 +
www/ecrire/configuration/futurs.php | 44 +
www/ecrire/configuration/index.php | 1 +
www/ecrire/configuration/indexeur.php | 37 +
www/ecrire/configuration/langue.php | 49 +
www/ecrire/configuration/locuteur.php | 93 +
www/ecrire/configuration/logos.php | 63 +
.../configuration/messagerie_agenda.php | 34 +
www/ecrire/configuration/mots.php | 92 +
.../configuration/notifications_forum.php | 47 +
www/ecrire/configuration/participants.php | 84 +
www/ecrire/configuration/previsualiseur.php | 56 +
www/ecrire/configuration/redacteurs.php | 40 +
www/ecrire/configuration/redirection.php | 44 +
www/ecrire/configuration/reducteur.php | 166 +
www/ecrire/configuration/referenceur.php | 67 +
www/ecrire/configuration/relayeur.php | 151 +
www/ecrire/configuration/rubriques.php | 61 +
www/ecrire/configuration/syndications.php | 135 +
www/ecrire/configuration/transcodeur.php | 55 +
www/ecrire/configuration/type_urls.php | 52 +
www/ecrire/configuration/versionneur.php | 37 +
www/ecrire/configuration/visiteurs.php | 45 +
www/ecrire/exec/404.php | 43 +
www/ecrire/exec/accueil.php | 484 +
www/ecrire/exec/admin_declarer.php | 97 +
www/ecrire/exec/admin_effacer.php | 98 +
www/ecrire/exec/admin_plugin.php | 254 +
www/ecrire/exec/admin_repair.php | 55 +
www/ecrire/exec/admin_tech.php | 312 +
www/ecrire/exec/admin_vider.php | 128 +
www/ecrire/exec/aide_index.php | 415 +
www/ecrire/exec/articles.php | 309 +
www/ecrire/exec/articles_edit.php | 121 +
www/ecrire/exec/articles_forum.php | 123 +
www/ecrire/exec/articles_page.php | 78 +
www/ecrire/exec/articles_tous.php | 380 +
www/ecrire/exec/articles_versions.php | 259 +
www/ecrire/exec/auteur_infos.php | 180 +
www/ecrire/exec/auteurs.php | 397 +
www/ecrire/exec/breves.php | 60 +
www/ecrire/exec/breves_edit.php | 119 +
www/ecrire/exec/breves_voir.php | 244 +
www/ecrire/exec/brouteur.php | 116 +
www/ecrire/exec/brouteur_frame.php | 255 +
www/ecrire/exec/calendrier.php | 59 +
www/ecrire/exec/charger_plugin.php | 72 +
www/ecrire/exec/config_contenu.php | 115 +
www/ecrire/exec/config_fonctions.php | 80 +
www/ecrire/exec/config_lang.php | 52 +
www/ecrire/exec/config_multilang.php | 60 +
www/ecrire/exec/configuration.php | 89 +
www/ecrire/exec/configurer.php | 31 +
.../exec/configurer_notifications_forum.php | 27 +
www/ecrire/exec/configurer_previsualiseur.php | 27 +
www/ecrire/exec/configurer_relayeur.php | 27 +
www/ecrire/exec/controle_forum.php | 298 +
www/ecrire/exec/controle_petition.php | 143 +
www/ecrire/exec/convert_sql_utf8.php | 65 +
www/ecrire/exec/convert_utf8.php | 66 +
www/ecrire/exec/copier_local.php | 26 +
www/ecrire/exec/dater.php | 62 +
www/ecrire/exec/delete_all.php | 56 +
www/ecrire/exec/delete_statistiques.php | 30 +
www/ecrire/exec/demande_mise_a_jour.php | 40 +
www/ecrire/exec/discuter.php | 29 +
www/ecrire/exec/documenter.php | 43 +
www/ecrire/exec/documents_colonne.php | 42 +
www/ecrire/exec/documents_liste.php | 76 +
www/ecrire/exec/editer_auteurs.php | 36 +
www/ecrire/exec/editer_mots.php | 56 +
www/ecrire/exec/export_all.php | 141 +
www/ecrire/exec/fond.php | 98 +
www/ecrire/exec/forum.php | 67 +
www/ecrire/exec/forum_admin.php | 26 +
www/ecrire/exec/grouper_mots.php | 37 +
www/ecrire/exec/iconifier.php | 46 +
www/ecrire/exec/import_all.php | 172 +
www/ecrire/exec/index.php | 1 +
www/ecrire/exec/info_plugin.php | 41 +
www/ecrire/exec/info_plugin_distant.php | 34 +
www/ecrire/exec/informer.php | 35 +
www/ecrire/exec/informer_auteur.php | 28 +
www/ecrire/exec/install.php | 51 +
www/ecrire/exec/instituer_auteur.php | 26 +
www/ecrire/exec/lang_raccourcis.php | 109 +
www/ecrire/exec/legender.php | 37 +
www/ecrire/exec/meme_rubrique.php | 36 +
www/ecrire/exec/memoriser.php | 43 +
www/ecrire/exec/menu_agenda.php | 37 +
www/ecrire/exec/menu_navigation.php | 115 +
www/ecrire/exec/menu_rubriques.php | 192 +
www/ecrire/exec/message.php | 369 +
www/ecrire/exec/message_edit.php | 178 +
www/ecrire/exec/messagerie.php | 128 +
www/ecrire/exec/mots_edit.php | 226 +
www/ecrire/exec/mots_tous.php | 219 +
www/ecrire/exec/mots_type.php | 72 +
www/ecrire/exec/naviguer.php | 466 +
www/ecrire/exec/petitionner.php | 30 +
www/ecrire/exec/plonger.php | 36 +
www/ecrire/exec/poster_forum_prive.php | 67 +
www/ecrire/exec/puce_statut.php | 40 +
www/ecrire/exec/recherche.php | 135 +
www/ecrire/exec/rechercher.php | 137 +
www/ecrire/exec/rechercher_auteur.php | 42 +
www/ecrire/exec/referencer_traduction.php | 31 +
www/ecrire/exec/regler_moderation.php | 30 +
www/ecrire/exec/rubriques_edit.php | 99 +
www/ecrire/exec/selectionner.php | 36 +
www/ecrire/exec/selectionner_auteur.php | 27 +
www/ecrire/exec/sites.php | 348 +
www/ecrire/exec/sites_edit.php | 85 +
www/ecrire/exec/sites_tous.php | 57 +
www/ecrire/exec/statistiques_lang.php | 121 +
www/ecrire/exec/statistiques_referers.php | 89 +
www/ecrire/exec/statistiques_repartition.php | 174 +
www/ecrire/exec/statistiques_visites.php | 188 +
www/ecrire/exec/suivi_revisions.php | 94 +
www/ecrire/exec/synchro.php | 166 +
www/ecrire/exec/tourner.php | 36 +
www/ecrire/exec/upgrade.php | 63 +
www/ecrire/exec/valider_xml.php | 303 +
www/ecrire/exec/virtualiser.php | 37 +
www/ecrire/genie/mail.php | 63 +
www/ecrire/genie/maintenance.php | 74 +
www/ecrire/genie/mise_a_jour.php | 88 +
www/ecrire/genie/optimiser.php | 433 +
www/ecrire/genie/popularites.php | 84 +
www/ecrire/genie/syndic.php | 261 +
www/ecrire/genie/visites.php | 224 +
www/ecrire/gnu_lgpl_fr.txt | 504 +
www/ecrire/gpl_fr.txt | 393 +
www/ecrire/inc/acces.php | 262 +
www/ecrire/inc/actions.php | 240 +
www/ecrire/inc/admin.php | 181 +
www/ecrire/inc/afficher_objets.php | 541 +
www/ecrire/inc/agenda.php | 1614 +++
www/ecrire/inc/aider.php | 93 +
www/ecrire/inc/ajouter_documents.php | 554 +
www/ecrire/inc/article_select.php | 137 +
www/ecrire/inc/auteur_infos.php | 230 +
www/ecrire/inc/auth.php | 673 +
www/ecrire/inc/autoriser.php | 753 +
www/ecrire/inc/bandeau.php | 479 +
www/ecrire/inc/boutons.php | 198 +
www/ecrire/inc/charger_php_extension.php | 68 +
www/ecrire/inc/charger_plugin.php | 544 +
www/ecrire/inc/charsets.php | 786 ++
www/ecrire/inc/chercher_logo.php | 50 +
www/ecrire/inc/chercher_rubrique.php | 219 +
www/ecrire/inc/commencer_page.php | 276 +
www/ecrire/inc/config.php | 254 +
www/ecrire/inc/cookie.php | 81 +
www/ecrire/inc/couleurs.php | 139 +
www/ecrire/inc/date.php | 121 +
www/ecrire/inc/dater.php | 177 +
www/ecrire/inc/diff.php | 403 +
www/ecrire/inc/discuter.php | 84 +
www/ecrire/inc/distant.php | 637 +
www/ecrire/inc/documenter.php | 175 +
www/ecrire/inc/documenter_objet.php | 62 +
www/ecrire/inc/documents.php | 527 +
www/ecrire/inc/drapeau_edition.php | 166 +
www/ecrire/inc/editer.php | 408 +
www/ecrire/inc/editer_auteurs.php | 305 +
www/ecrire/inc/editer_mots.php | 397 +
www/ecrire/inc/envoyer_mail.php | 254 +
www/ecrire/inc/export.php | 352 +
www/ecrire/inc/feedfinder.php | 214 +
www/ecrire/inc/filtres.php | 2667 ++++
www/ecrire/inc/filtres_images_lib_mini.php | 931 ++
www/ecrire/inc/filtres_images_mini.php | 136 +
www/ecrire/inc/filtres_mime.php | 148 +
www/ecrire/inc/filtres_mini.php | 125 +
www/ecrire/inc/flock.php | 410 +
www/ecrire/inc/formater_article.php | 98 +
www/ecrire/inc/formater_auteur.php | 101 +
www/ecrire/inc/forum.php | 620 +
www/ecrire/inc/forum_envoi.php | 270 +
www/ecrire/inc/forum_insert.php | 281 +
www/ecrire/inc/gadgets.php | 223 +
www/ecrire/inc/genie.php | 154 +
www/ecrire/inc/getdocument.php | 198 +
www/ecrire/inc/grouper_mots.php | 161 +
www/ecrire/inc/headers.php | 170 +
www/ecrire/inc/iconifier.php | 175 +
www/ecrire/inc/import.php | 501 +
www/ecrire/inc/import_0_0.php | 121 +
www/ecrire/inc/import_1_2.php | 142 +
www/ecrire/inc/import_1_3.php | 197 +
www/ecrire/inc/import_insere.php | 488 +
www/ecrire/inc/index.php | 1 +
www/ecrire/inc/informer.php | 73 +
www/ecrire/inc/informer_auteur.php | 70 +
www/ecrire/inc/install.php | 467 +
www/ecrire/inc/instituer_article.php | 68 +
www/ecrire/inc/instituer_auteur.php | 273 +
www/ecrire/inc/instituer_breve.php | 47 +
www/ecrire/inc/instituer_site.php | 48 +
www/ecrire/inc/invalideur.php | 261 +
www/ecrire/inc/joindre.php | 217 +
www/ecrire/inc/json.php | 83 +
www/ecrire/inc/lang.php | 359 +
www/ecrire/inc/lang_liste.php | 220 +
www/ecrire/inc/layer.php | 145 +
www/ecrire/inc/legender.php | 305 +
www/ecrire/inc/lien.php | 580 +
www/ecrire/inc/lien_court.php | 33 +
www/ecrire/inc/log.php | 77 +
www/ecrire/inc/mail.php | 30 +
www/ecrire/inc/math.php | 116 +
www/ecrire/inc/meme_rubrique.php | 99 +
www/ecrire/inc/message_select.php | 137 +
www/ecrire/inc/meta.php | 147 +
www/ecrire/inc/minipres.php | 98 +
www/ecrire/inc/modifier.php | 414 +
www/ecrire/inc/mots.php | 138 +
www/ecrire/inc/nfslock.php | 297 +
www/ecrire/inc/notes.php | 177 +
www/ecrire/inc/notifications.php | 230 +
www/ecrire/inc/pclzip.php | 5694 ++++++++
www/ecrire/inc/petitionner.php | 132 +
www/ecrire/inc/php3.php | 93 +
www/ecrire/inc/plonger.php | 110 +
www/ecrire/inc/plugin.php | 782 +
www/ecrire/inc/prepare_recherche.php | 104 +
www/ecrire/inc/presentation.php | 1171 ++
www/ecrire/inc/presenter_enfants.php | 151 +
www/ecrire/inc/presenter_liste.php | 144 +
www/ecrire/inc/puce_statut.php | 373 +
www/ecrire/inc/rechercher.php | 370 +
www/ecrire/inc/referencer_traduction.php | 175 +
www/ecrire/inc/referenceurs.php | 244 +
www/ecrire/inc/regler_moderation.php | 76 +
www/ecrire/inc/revisions.php | 683 +
www/ecrire/inc/rubriques.php | 470 +
www/ecrire/inc/securiser_action.php | 176 +
www/ecrire/inc/selectionner.php | 124 +
www/ecrire/inc/selectionner_auteur.php | 78 +
www/ecrire/inc/session.php | 325 +
www/ecrire/inc/signatures.php | 147 +
www/ecrire/inc/site.php | 116 +
www/ecrire/inc/statistiques.php | 669 +
www/ecrire/inc/suivi_versions.php | 279 +
www/ecrire/inc/surligne.php | 85 +
www/ecrire/inc/syndic.php | 401 +
www/ecrire/inc/texte.php | 985 ++
www/ecrire/inc/tourner.php | 159 +
www/ecrire/inc/traduire.php | 146 +
www/ecrire/inc/urls.php | 138 +
www/ecrire/inc/utils.php | 1854 +++
www/ecrire/inc/vieilles_defs.php | 929 ++
www/ecrire/inc/vignette.php | 53 +
www/ecrire/inc/virtualiser.php | 36 +
www/ecrire/inc/xml.php | 174 +
www/ecrire/inc_version.php | 525 +
www/ecrire/index.php | 171 +
www/ecrire/install/etape_.php | 33 +
www/ecrire/install/etape_1.php | 64 +
www/ecrire/install/etape_2.php | 177 +
www/ecrire/install/etape_3.php | 312 +
www/ecrire/install/etape_3b.php | 129 +
www/ecrire/install/etape_4.php | 59 +
www/ecrire/install/etape_chmod.php | 145 +
www/ecrire/install/etape_fin.php | 75 +
www/ecrire/install/etape_ldap1.php | 97 +
www/ecrire/install/etape_ldap2.php | 87 +
www/ecrire/install/etape_ldap3.php | 85 +
www/ecrire/install/etape_ldap4.php | 101 +
www/ecrire/install/etape_ldap5.php | 86 +
www/ecrire/install/etape_sup1.php | 116 +
www/ecrire/install/etape_sup2.php | 126 +
www/ecrire/install/index.php | 1 +
www/ecrire/lang/ecrire_ar.php | 1294 ++
www/ecrire/lang/ecrire_ast.php | 1294 ++
www/ecrire/lang/ecrire_bg.php | 1287 ++
www/ecrire/lang/ecrire_br.php | 1218 ++
www/ecrire/lang/ecrire_bs.php | 1149 ++
www/ecrire/lang/ecrire_ca.php | 1203 ++
www/ecrire/lang/ecrire_cpf.php | 1258 ++
www/ecrire/lang/ecrire_cpf_hat.php | 1285 ++
www/ecrire/lang/ecrire_cs.php | 1271 ++
www/ecrire/lang/ecrire_da.php | 1235 ++
www/ecrire/lang/ecrire_de.php | 1171 ++
www/ecrire/lang/ecrire_en.php | 1279 ++
www/ecrire/lang/ecrire_eo.php | 1272 ++
www/ecrire/lang/ecrire_es.php | 1186 ++
www/ecrire/lang/ecrire_eu.php | 1174 ++
www/ecrire/lang/ecrire_fa.php | 1162 ++
www/ecrire/lang/ecrire_fon.php | 1145 ++
www/ecrire/lang/ecrire_fr.php | 1292 ++
www/ecrire/lang/ecrire_gl.php | 1277 ++
www/ecrire/lang/ecrire_hu.php | 1237 ++
www/ecrire/lang/ecrire_id.php | 1272 ++
www/ecrire/lang/ecrire_it.php | 1265 ++
www/ecrire/lang/ecrire_it_fem.php | 1264 ++
www/ecrire/lang/ecrire_ja.php | 1183 ++
www/ecrire/lang/ecrire_km.php | 1162 ++
www/ecrire/lang/ecrire_lb.php | 1161 ++
www/ecrire/lang/ecrire_my.php | 1153 ++
www/ecrire/lang/ecrire_nl.php | 1277 ++
www/ecrire/lang/ecrire_oc_auv.php | 1275 ++
www/ecrire/lang/ecrire_oc_gsc.php | 1274 ++
www/ecrire/lang/ecrire_oc_lms.php | 1275 ++
www/ecrire/lang/ecrire_oc_lnc.php | 1264 ++
www/ecrire/lang/ecrire_oc_ni.php | 1254 ++
www/ecrire/lang/ecrire_oc_ni_la.php | 1274 ++
www/ecrire/lang/ecrire_oc_prv.php | 1274 ++
www/ecrire/lang/ecrire_oc_va.php | 1275 ++
www/ecrire/lang/ecrire_pl.php | 1279 ++
www/ecrire/lang/ecrire_pt.php | 1291 ++
www/ecrire/lang/ecrire_pt_br.php | 1162 ++
www/ecrire/lang/ecrire_ro.php | 1235 ++
www/ecrire/lang/ecrire_ru.php | 1281 ++
www/ecrire/lang/ecrire_sv.php | 1281 ++
www/ecrire/lang/ecrire_tr.php | 1207 ++
www/ecrire/lang/ecrire_vi.php | 1173 ++
www/ecrire/lang/ecrire_zh.php | 1290 ++
www/ecrire/lang/index.php | 1 +
www/ecrire/lang/public_ar.php | 125 +
www/ecrire/lang/public_ast.php | 125 +
www/ecrire/lang/public_bg.php | 125 +
www/ecrire/lang/public_br.php | 125 +
www/ecrire/lang/public_bs.php | 125 +
www/ecrire/lang/public_ca.php | 125 +
www/ecrire/lang/public_cpf.php | 125 +
www/ecrire/lang/public_cpf_hat.php | 125 +
www/ecrire/lang/public_cs.php | 125 +
www/ecrire/lang/public_da.php | 125 +
www/ecrire/lang/public_de.php | 125 +
www/ecrire/lang/public_en.php | 125 +
www/ecrire/lang/public_eo.php | 125 +
www/ecrire/lang/public_es.php | 125 +
www/ecrire/lang/public_eu.php | 125 +
www/ecrire/lang/public_fa.php | 125 +
www/ecrire/lang/public_fon.php | 125 +
www/ecrire/lang/public_fr.php | 123 +
www/ecrire/lang/public_gl.php | 125 +
www/ecrire/lang/public_hu.php | 125 +
www/ecrire/lang/public_id.php | 125 +
www/ecrire/lang/public_it.php | 125 +
www/ecrire/lang/public_it_fem.php | 125 +
www/ecrire/lang/public_ja.php | 125 +
www/ecrire/lang/public_km.php | 125 +
www/ecrire/lang/public_lb.php | 125 +
www/ecrire/lang/public_my.php | 125 +
www/ecrire/lang/public_nl.php | 125 +
www/ecrire/lang/public_oc_auv.php | 125 +
www/ecrire/lang/public_oc_gsc.php | 125 +
www/ecrire/lang/public_oc_lms.php | 125 +
www/ecrire/lang/public_oc_lnc.php | 125 +
www/ecrire/lang/public_oc_ni.php | 125 +
www/ecrire/lang/public_oc_ni_la.php | 125 +
www/ecrire/lang/public_oc_prv.php | 125 +
www/ecrire/lang/public_oc_va.php | 125 +
www/ecrire/lang/public_pl.php | 125 +
www/ecrire/lang/public_pt.php | 125 +
www/ecrire/lang/public_pt_br.php | 125 +
www/ecrire/lang/public_ro.php | 125 +
www/ecrire/lang/public_ru.php | 125 +
www/ecrire/lang/public_sv.php | 125 +
www/ecrire/lang/public_tr.php | 125 +
www/ecrire/lang/public_vi.php | 125 +
www/ecrire/lang/public_zh.php | 125 +
www/ecrire/lang/spip_ar.php | 827 ++
www/ecrire/lang/spip_ast.php | 826 ++
www/ecrire/lang/spip_bg.php | 826 ++
www/ecrire/lang/spip_br.php | 810 ++
www/ecrire/lang/spip_bs.php | 777 +
www/ecrire/lang/spip_ca.php | 803 ++
www/ecrire/lang/spip_cpf.php | 822 ++
www/ecrire/lang/spip_cpf_hat.php | 819 ++
www/ecrire/lang/spip_cs.php | 825 ++
www/ecrire/lang/spip_da.php | 806 ++
www/ecrire/lang/spip_de.php | 794 ++
www/ecrire/lang/spip_en.php | 823 ++
www/ecrire/lang/spip_eo.php | 826 ++
www/ecrire/lang/spip_es.php | 808 ++
www/ecrire/lang/spip_eu.php | 797 ++
www/ecrire/lang/spip_fa.php | 777 +
www/ecrire/lang/spip_fon.php | 765 +
www/ecrire/lang/spip_fr.php | 825 ++
www/ecrire/lang/spip_gl.php | 822 ++
www/ecrire/lang/spip_hu.php | 815 ++
www/ecrire/lang/spip_id.php | 826 ++
www/ecrire/lang/spip_it.php | 817 ++
www/ecrire/lang/spip_it_fem.php | 818 ++
www/ecrire/lang/spip_ja.php | 820 ++
www/ecrire/lang/spip_km.php | 784 +
www/ecrire/lang/spip_lb.php | 797 ++
www/ecrire/lang/spip_my.php | 760 +
www/ecrire/lang/spip_nl.php | 827 ++
www/ecrire/lang/spip_oc_auv.php | 823 ++
www/ecrire/lang/spip_oc_gsc.php | 822 ++
www/ecrire/lang/spip_oc_lms.php | 823 ++
www/ecrire/lang/spip_oc_lnc.php | 824 ++
www/ecrire/lang/spip_oc_ni.php | 819 ++
www/ecrire/lang/spip_oc_ni_la.php | 823 ++
www/ecrire/lang/spip_oc_prv.php | 823 ++
www/ecrire/lang/spip_oc_va.php | 823 ++
www/ecrire/lang/spip_pl.php | 824 ++
www/ecrire/lang/spip_pt.php | 822 ++
www/ecrire/lang/spip_pt_br.php | 797 ++
www/ecrire/lang/spip_ro.php | 815 ++
www/ecrire/lang/spip_ru.php | 829 ++
www/ecrire/lang/spip_sv.php | 813 ++
www/ecrire/lang/spip_tr.php | 809 ++
www/ecrire/lang/spip_vi.php | 791 ++
www/ecrire/lang/spip_zh.php | 820 ++
www/ecrire/maj/svn10000.php | 248 +
www/ecrire/maj/v009.php | 128 +
www/ecrire/maj/v010.php | 46 +
www/ecrire/maj/v011.php | 27 +
www/ecrire/maj/v012.php | 82 +
www/ecrire/maj/v013.php | 65 +
www/ecrire/maj/v014.php | 328 +
www/ecrire/maj/v015.php | 19 +
www/ecrire/maj/v016.php | 54 +
www/ecrire/maj/v017.php | 192 +
www/ecrire/maj/v018.php | 201 +
www/ecrire/maj/v019.php | 475 +
www/ecrire/maj/v019_pre193.php | 302 +
.../maj/vieille_base/10000/auxiliaires.php | 271 +
www/ecrire/maj/vieille_base/10000/create.php | 79 +
www/ecrire/maj/vieille_base/10000/serial.php | 390 +
www/ecrire/maj/vieille_base/10000/typedoc.php | 208 +
.../maj/vieille_base/13000/auxiliaires.php | 331 +
www/ecrire/maj/vieille_base/13000/create.php | 35 +
www/ecrire/maj/vieille_base/13000/serial.php | 393 +
www/ecrire/maj/vieille_base/13000/typedoc.php | 224 +
www/ecrire/maj/vieille_base/1813/create.php | 52 +
.../maj/vieille_base/1813/inc_auxbase.php | 433 +
.../maj/vieille_base/1813/inc_serialbase.php | 363 +
.../maj/vieille_base/1813/inc_typebase.php | 154 +
www/ecrire/maj/vieille_base/1821/create.php | 52 +
.../maj/vieille_base/1821/inc_auxbase.php | 473 +
.../maj/vieille_base/1821/inc_serialbase.php | 370 +
.../maj/vieille_base/1821/inc_typebase.php | 158 +
.../maj/vieille_base/1915/auxiliaires.php | 378 +
www/ecrire/maj/vieille_base/1915/create.php | 51 +
www/ecrire/maj/vieille_base/1915/serial.php | 387 +
www/ecrire/maj/vieille_base/1915/typedoc.php | 197 +
.../maj/vieille_base/1917/auxiliaires.php | 378 +
www/ecrire/maj/vieille_base/1917/create.php | 61 +
www/ecrire/maj/vieille_base/1917/serial.php | 386 +
www/ecrire/maj/vieille_base/1917/typedoc.php | 197 +
.../maj/vieille_base/1927/auxiliaires.php | 378 +
www/ecrire/maj/vieille_base/1927/create.php | 52 +
www/ecrire/maj/vieille_base/1927/serial.php | 372 +
www/ecrire/maj/vieille_base/1927/typedoc.php | 211 +
www/ecrire/maj/vieille_base/charger.php | 54 +
www/ecrire/maj/vieille_base/create.php | 72 +
www/ecrire/notifications/article_propose.html | 25 +
www/ecrire/notifications/article_publie.html | 24 +
www/ecrire/notifications/article_valide.html | 8 +
www/ecrire/notifications/forum_poste.html | 29 +
www/ecrire/notifications/forumposte.php | 80 +
www/ecrire/notifications/forumvalide.php | 88 +
www/ecrire/notifications/instituerarticle.php | 53 +
www/ecrire/oo/index.php | 8 +
www/ecrire/plugins/afficher_liste.php | 66 +
www/ecrire/plugins/afficher_nom_plugin.php | 63 +
www/ecrire/plugins/afficher_plugin.php | 201 +
.../plugins/afficher_plugin_distant.php | 139 +
www/ecrire/plugins/afficher_repertoires.php | 111 +
www/ecrire/plugins/extraire_boutons.php | 50 +
www/ecrire/plugins/extraire_pipelines.php | 44 +
www/ecrire/plugins/get_infos.php | 114 +
www/ecrire/plugins/verifie_conformite.php | 167 +
www/ecrire/prive.php | 39 +
www/ecrire/public.php | 263 +
www/ecrire/public/admin.php | 74 +
www/ecrire/public/aiguiller.php | 241 +
www/ecrire/public/assembler.php | 695 +
www/ecrire/public/balises.php | 1377 ++
www/ecrire/public/boucles.php | 314 +
www/ecrire/public/cacher.php | 322 +
www/ecrire/public/compiler.php | 1012 ++
www/ecrire/public/composer.php | 725 +
www/ecrire/public/criteres.php | 1332 ++
www/ecrire/public/debusquer.php | 617 +
www/ecrire/public/decompiler.php | 196 +
www/ecrire/public/format_html.php | 122 +
www/ecrire/public/index.php | 1 +
www/ecrire/public/interfaces.php | 387 +
www/ecrire/public/jointures.php | 335 +
www/ecrire/public/normaliser.php | 200 +
www/ecrire/public/parametrer.php | 220 +
www/ecrire/public/phraser_html.php | 761 +
www/ecrire/public/quete.php | 315 +
www/ecrire/public/references.php | 552 +
www/ecrire/public/stats.php | 92 +
www/ecrire/public/styliser.php | 157 +
www/ecrire/public/tracer.php | 149 +
www/ecrire/public/vertebrer.php | 176 +
www/ecrire/req/mysql.php | 865 ++
www/ecrire/req/pg.php | 1287 ++
www/ecrire/req/sqlite2.php | 36 +
www/ecrire/req/sqlite3.php | 41 +
www/ecrire/req/sqlite_fonctions.php | 277 +
www/ecrire/req/sqlite_generique.php | 1905 +++
www/ecrire/rien.gif | Bin 0 -> 63 bytes
www/ecrire/typographie/en.php | 46 +
www/ecrire/typographie/fr.php | 73 +
www/ecrire/typographie/index.php | 1 +
www/ecrire/urls/arbo.php | 468 +
www/ecrire/urls/generer_url_forum.php | 37 +
www/ecrire/urls/html.php | 110 +
www/ecrire/urls/index.php | 1 +
www/ecrire/urls/libres.php | 31 +
www/ecrire/urls/page.php | 100 +
www/ecrire/urls/propres.php | 379 +
www/ecrire/urls/propres2.php | 31 +
www/ecrire/urls/propres_qs.php | 39 +
www/ecrire/urls/standard.php | 117 +
www/ecrire/xml/analyser_dtd.php | 347 +
www/ecrire/xml/indenter.php | 65 +
www/ecrire/xml/index.php | 1 +
www/ecrire/xml/interfaces.php | 58 +
www/ecrire/xml/sax.php | 279 +
www/ecrire/xml/valider.php | 430 +
.../compresseur/compresseur_http.php | 30 +
.../compresseur/compresseur_pipeline.php | 33 +
.../compresseur/filtres/compresseur.php | 128 +
.../formulaires/configurer_compresseur.html | 63 +
.../formulaires/configurer_compresseur.php | 47 +
.../compresseur/images/compresseur-128.png | Bin 0 -> 2918 bytes
.../compresseur/images/compresseur-32.png | Bin 0 -> 972 bytes
.../compresseur/inc/compresseur.php | 331 +
.../class.JavaScriptPacker.php | 773 +
www/extensions/compresseur/plugin.xml | 30 +
.../prive/configurer/compresseur.html | 3 +
.../compresseur/tests/compacte.html | 27 +
.../filtres_images/favicon.ico.html | 7 +
.../filtres_images/filtres/couleurs.php | 177 +
.../filtres_images/filtres/images_lib.php | 341 +
.../filtres/images_transforme.php | 1585 +++
.../filtres_images/filtres/images_typo.php | 639 +
.../images/image_filtre-128.png | Bin 0 -> 21446 bytes
.../filtres_images/images/image_filtre-32.png | Bin 0 -> 4446 bytes
.../filtres_images/images_fonctions.php | 95 +
.../filtres_images/inc/filtres_images.php | 32 +
.../inc/filtres_images_compat.php | 56 +
.../filtres_images/modeles/favicon.html | 7 +
www/extensions/filtres_images/plugin.xml | 14 +
.../filtres_images/tests/_couleur_hsl2rgb.php | 1540 ++
.../filtres_images/tests/_couleur_hsv2rgb.php | 1559 ++
.../filtres_images/tests/_couleur_rgb2hsl.php | 4156 ++++++
.../filtres_images/tests/_couleur_rgb2hsv.php | 4175 ++++++
.../filtres_images/tests/bonnetaille.html | 19 +
.../filtres_images/tests/couleur_extraire.php | 53 +
.../filtres_images/tests/degrade-bleu.jpg | Bin 0 -> 757 bytes
.../filtres_images/tests/imagesrc.html | 14 +
.../filtres_images/tests/imagetest.jpg | Bin 0 -> 35582 bytes
.../filtres_images/tests/masque-305x85.png | Bin 0 -> 297 bytes
.../tests/multiple_de_trois.php | 120 +
.../action/configurer_iecompat.php | 43 +
.../msie_compat/configuration/ie6config.php | 49 +
.../msie_compat/imgs/browser-32.png | Bin 0 -> 4738 bytes
www/extensions/msie_compat/javascript/IE7.js | 2 +
www/extensions/msie_compat/javascript/IE8.js | 2 +
www/extensions/msie_compat/javascript/IE9.js | 2886 ++++
.../msie_compat/javascript/blank.gif | Bin 0 -> 63 bytes
.../msie_compat/javascript/ie7-recalc.js | 2 +
.../msie_compat/javascript/ie7-squish.js | 36 +
.../msie_compat/javascript/jquery.ifixpng.js | 137 +
.../msie_compat/lang/msiecompat_ca.php | 22 +
.../msie_compat/lang/msiecompat_de.php | 22 +
.../msie_compat/lang/msiecompat_en.php | 22 +
.../msie_compat/lang/msiecompat_fr.php | 20 +
.../msie_compat/lang/msiecompat_fr_tu.php | 22 +
www/extensions/msie_compat/msie_compat.php | 106 +
www/extensions/msie_compat/plugin.xml | 49 +
.../action/porte_plume_previsu.php | 49 +
.../porte_plume/barre_outils/edition.php | 485 +
.../porte_plume/barre_outils/forum.php | 33 +
.../porte_plume/barre_outils_icones.css.html | 7 +
.../porte_plume/configuration/porte_plume.php | 44 +
.../porte_plume/css/barre_outils.css | 162 +
.../porte_plume/css/barre_outils_prive.css | 14 +
.../porte_plume/css/images/handle.png | Bin 0 -> 258 bytes
.../porte_plume/css/images/menu.png | Bin 0 -> 27151 bytes
.../porte_plume/css/images/submenu.png | Bin 0 -> 240 bytes
.../formulaires/configurer_porte_plume.html | 28 +
.../formulaires/configurer_porte_plume.php | 32 +
.../porte_plume/icones_barre/aelig-maj.png | Bin 0 -> 268 bytes
.../porte_plume/icones_barre/aelig.png | Bin 0 -> 269 bytes
.../porte_plume/icones_barre/agrave-maj.png | Bin 0 -> 361 bytes
.../porte_plume/icones_barre/ccedil-maj.png | Bin 0 -> 281 bytes
.../porte_plume/icones_barre/clean.png | Bin 0 -> 667 bytes
.../porte_plume/icones_barre/eacute-maj.png | Bin 0 -> 342 bytes
.../porte_plume/icones_barre/eagrave-maj.png | Bin 0 -> 261 bytes
.../porte_plume/icones_barre/eye.png | Bin 0 -> 750 bytes
.../icones_barre/guillemets-de.png | Bin 0 -> 316 bytes
.../icones_barre/guillemets-simples.png | Bin 0 -> 318 bytes
.../icones_barre/guillemets-uniques-de.png | Bin 0 -> 295 bytes
.../icones_barre/guillemets-uniques.png | Bin 0 -> 290 bytes
.../porte_plume/icones_barre/guillemets.png | Bin 0 -> 352 bytes
.../porte_plume/icones_barre/intertitre.png | Bin 0 -> 235 bytes
.../porte_plume/icones_barre/keyboard.png | Bin 0 -> 570 bytes
.../porte_plume/icones_barre/lien.png | Bin 0 -> 360 bytes
.../porte_plume/icones_barre/notes.png | Bin 0 -> 266 bytes
.../porte_plume/icones_barre/oelig-maj.png | Bin 0 -> 385 bytes
.../porte_plume/icones_barre/oelig.png | Bin 0 -> 362 bytes
.../porte_plume/icones_barre/quote.png | Bin 0 -> 254 bytes
.../porte_plume/icones_barre/spt-v1.png | Bin 0 -> 9397 bytes
.../porte_plume/icones_barre/text_bold.png | Bin 0 -> 304 bytes
.../porte_plume/icones_barre/text_indent.png | Bin 0 -> 353 bytes
.../icones_barre/text_indent_remove.png | Bin 0 -> 351 bytes
.../porte_plume/icones_barre/text_italic.png | Bin 0 -> 223 bytes
.../icones_barre/text_list_bullets.png | Bin 0 -> 344 bytes
.../icones_barre/text_list_numbers.png | Bin 0 -> 357 bytes
.../icones_barre/text_lowercase.png | Bin 0 -> 409 bytes
.../icones_barre/text_strikethrough.png | Bin 0 -> 269 bytes
.../icones_barre/text_uppercase.png | Bin 0 -> 421 bytes
.../porte_plume/images/porte-plume-128.png | Bin 0 -> 11210 bytes
.../porte_plume/images/porte-plume-16.png | Bin 0 -> 3287 bytes
.../porte_plume/images/porte-plume-24.png | Bin 0 -> 3444 bytes
.../porte_plume/images/porte-plume-48.png | Bin 0 -> 4340 bytes
www/extensions/porte_plume/images/sources.txt | 2 +
www/extensions/porte_plume/inc/barre.php | 44 +
.../porte_plume/inc/barre_outils.php | 591 +
.../porte_plume/javascript/jquery.markitup.js | 563 +
.../javascript/jquery.markitup_pour_spip.js | 698 +
.../javascript/jquery.previsu_spip.js | 86 +
.../javascript/porte_plume_forcer_hauteur.js | 24 +
.../porte_plume/javascript/xregexp-min.js | 2 +
.../porte_plume/lang/barre_outils_ar.php | 113 +
.../porte_plume/lang/barre_outils_de.php | 117 +
.../porte_plume/lang/barre_outils_en.php | 118 +
.../porte_plume/lang/barre_outils_es.php | 94 +
.../porte_plume/lang/barre_outils_fr.php | 120 +
.../porte_plume/lang/barre_outils_it.php | 120 +
.../porte_plume/markitup/readme.txt | 55 +
.../markitup/templates/preview.css | 5 +
.../markitup/templates/preview.html | 11 +
www/extensions/porte_plume/plugin.xml | 86 +
.../porte_plume/porte_plume_pipelines.php | 125 +
.../porte_plume/porte_plume_start.js.html | 60 +
.../porte_plume_start.js_fonctions.php | 63 +
.../prive/configurer/porte_plume.html | 3 +
.../prive/porte_plume_preview.html | 6 +
.../prive/porte_plume_preview_fonctions.php | 22 +
.../porte_plume/tests/all_tests.php | 12 +
.../tests/barre_outil_markitup.php | 359 +
.../porte_plume/tests/lanceur_spip.php | 36 +
.../safehtml/images/safehtml-128.png | Bin 0 -> 8896 bytes
.../safehtml/images/safehtml-32.png | Bin 0 -> 2527 bytes
www/extensions/safehtml/inc/safehtml.php | 55 +
.../lib/safehtml/classes/HTMLSax3.php | 296 +
.../safehtml/classes/HTMLSax3/Decorators.php | 122 +
.../lib/safehtml/classes/HTMLSax3/States.php | 179 +
.../lib/safehtml/classes/HTMLSax3/index.php | 1 +
.../safehtml/lib/safehtml/classes/index.php | 1 +
.../lib/safehtml/classes/safehtml.php | 383 +
.../safehtml/lib/safehtml/index.php | 1 +
.../safehtml/lib/safehtml/license.txt | 26 +
.../safehtml/lib/safehtml/readme-SPIP.txt | 15 +
.../safehtml/lib/safehtml/readme.txt | 81 +
www/extensions/safehtml/plugin.xml | 14 +
.../vertebres/images/vertebres-16.png | Bin 0 -> 712 bytes
.../vertebres/images/vertebres-32.png | Bin 0 -> 1329 bytes
www/extensions/vertebres/plugin.xml | 20 +
www/extensions/vertebres/public/vertebrer.php | 174 +
.../vertebres/vertebres_pipelines.php | 43 +
www/favicon.ico | Bin 0 -> 822 bytes
www/htaccess.txt | 133 +
www/index.php | 4 +
www/plugins/auto/.ok | 0
.../Menu_langue_lien/balise/menu_lang.php | 69 +
.../fonds/cfg_menu_lang_liens.html | 9 +
.../configurer_menu_lang_liens.html | 51 +
.../formulaires/menu_lang.html | 63 +
.../img_pack/menu_langues_liens.png | Bin 0 -> 645 bytes
.../Menu_langue_lien/lang/mll_en.php | 24 +
.../Menu_langue_lien/lang/mll_fr.php | 24 +
.../Menu_langue_lien/lang/paquet-mll_en.php | 20 +
.../Menu_langue_lien/lang/paquet-mll_fr.php | 20 +
.../Menu_langue_lien/mll_options.php | 4 +
.../Menu_langue_lien/mll_pipelines.php | 11 +
.../Menu_langue_lien/mll_styles.css.html | 30 +
.../Menu_langue_lien/paquet.xml | 25 +
.../Menu_langue_lien/plugin.xml | 37 +
.../squelettes/contenu/configurer_mll.html | 5 +
.../Menu_langue_lien/svn.revision | 10 +
.../afficher_objets/afficher_objets-64.png | Bin 0 -> 5398 bytes
.../afficher_objets_fonctions.php | 157 +
.../auto/afficher_objets/exec/auteurs.php | 97 +
.../auto/afficher_objets/exec/visiteurs.php | 420 +
.../afficher_objets/inc/afficher_objets.php | 85 +
.../afficher_objets/inc/lister_objets.php | 41 +
.../afficher_objets/lang/afficher_objets.xml | 9 +
.../lang/afficher_objets_en.php | 20 +
.../lang/afficher_objets_fr.php | 18 +
.../lang/afficher_objets_sk.php | 20 +
www/plugins/auto/afficher_objets/plugin.xml | 24 +
.../afficher_objets/prive/liste/articles.html | 42 +
.../afficher_objets/prive/liste/auteurs.html | 54 +
.../afficher_objets/prive/liste/breves.html | 37 +
.../prive/liste/documents.html | 39 +
.../afficher_objets/prive/liste/syndic.html | 50 +
.../prive/liste/syndic_articles.html | 51 +
.../style_prive_plugin_afficher_objets.html | 51 +
www/plugins/auto/afficher_objets/svn.revision | 10 +
.../auto/anythingslider/README.textile | 13 +
.../anythingslider_pipelines.php | 36 +
.../contenu/page-demoanythingslider.html | 36 +
.../anythingslider/css/anythingslider-ie.css | 45 +
.../anythingslider/css/anythingslider.css | 203 +
.../anythingslider/css/theme-construction.css | 142 +
.../anythingslider/css/theme-cs-portfolio.css | 148 +
.../anythingslider/css/theme-metallic.css | 146 +
.../css/theme-minimalist-round.css | 145 +
.../css/theme-minimalist-square.css | 144 +
.../auto/anythingslider/css/theme-simple.css | 119 +
.../configurer_anythingslider.html | 70 +
.../formulaires/configurer_anythingslider.php | 27 +
.../images/anythingslider-16.png | Bin 0 -> 728 bytes
.../images/anythingslider-24.png | Bin 0 -> 1138 bytes
.../anythingslider/images/anythingslider.png | Bin 0 -> 7991 bytes
.../anythingslider/images/arrows-metallic.png | Bin 0 -> 17088 bytes
.../images/arrows-minimalist.png | Bin 0 -> 2185 bytes
.../anythingslider/images/arrows-simple.png | Bin 0 -> 4342 bytes
.../anythingslider/images/construction.gif | Bin 0 -> 21495 bytes
.../anythingslider/images/cs-portfolio.png | Bin 0 -> 12506 bytes
.../auto/anythingslider/images/default.png | Bin 0 -> 15403 bytes
.../auto/anythingslider/images/nav-simple.png | Bin 0 -> 3108 bytes
.../auto/anythingslider/images/slider-bg.png | Bin 0 -> 1307 bytes
.../js/jquery.anythingslider.fx.min.js | 6 +
.../js/jquery.anythingslider.min.js | 7 +
.../js/jquery.anythingslider.video.min.js | 8 +
.../anythingslider/js/jquery.easing.1.2.js | 140 +
.../auto/anythingslider/js/swfobject.js | 4 +
.../anythingslider/lang/anythingslider_fr.php | 14 +
www/plugins/auto/anythingslider/plugin.xml | 32 +
.../prive/exec/configurer_anythingslider.html | 9 +
.../saisies/themes_anythingslider.html | 14 +
www/plugins/auto/anythingslider/svn.revision | 10 +
www/plugins/auto/ariane2/Images/Chevron.gif | Bin 0 -> 121 bytes
.../auto/ariane2/Images/ChevronOverlay.png | Bin 0 -> 310 bytes
www/plugins/auto/ariane2/Images/IconHome.gif | Bin 0 -> 549 bytes
www/plugins/auto/ariane2/css/BreadCrumb.css | 114 +
www/plugins/auto/ariane2/head.php | 17 +
.../auto/ariane2/js/jquery.easing.1.3.js | 205 +
.../auto/ariane2/js/jquery.jBreadCrumb.1.1.js | 240 +
www/plugins/auto/ariane2/plugin.xml | 24 +
.../auto/aveline/aveline_fonctions.php | 620 +
.../auto/aveline/aveline_pipelines.php | 42 +
.../aveline/base/aveline_installation.php | 233 +
.../auto/aveline/ieconfig/aveline-agenda.yaml | 506 +
.../aveline/ieconfig/aveline-type-blog.yaml | 964 ++
.../aveline/ieconfig/aveline-zpip-dist.yaml | 1428 ++
.../aveline-zpip-groupe-mots-menus.yaml | 1506 ++
.../ieconfig/aveline-zpip-groupe-mots.yaml | 1484 ++
.../aveline-zpip-secteurs-langue-menus.yaml | 1449 ++
.../aveline-zpip-secteurs-langue.yaml | 2839 ++++
www/plugins/auto/aveline/img/arrow_box.png | Bin 0 -> 16496 bytes
www/plugins/auto/aveline/img/aveline-128.png | Bin 0 -> 16903 bytes
www/plugins/auto/aveline/img/aveline-24.png | Bin 0 -> 1637 bytes
www/plugins/auto/aveline/img/aveline-32.png | Bin 0 -> 2476 bytes
www/plugins/auto/aveline/img/aveline-48.png | Bin 0 -> 4473 bytes
www/plugins/auto/aveline/img/aveline-64.png | Bin 0 -> 6716 bytes
www/plugins/auto/aveline/img/ic_401.png | Bin 0 -> 1287 bytes
www/plugins/auto/aveline/img/ic_4012.png | Bin 0 -> 3822 bytes
www/plugins/auto/aveline/img/ic_404.png | Bin 0 -> 1108 bytes
www/plugins/auto/aveline/img/ic_4042.png | Bin 0 -> 4266 bytes
www/plugins/auto/aveline/img/ic_accueil.png | Bin 0 -> 4133 bytes
www/plugins/auto/aveline/img/ic_accueil2.png | Bin 0 -> 835 bytes
.../auto/aveline/img/ic_administration.png | Bin 0 -> 3943 bytes
www/plugins/auto/aveline/img/ic_aide.png | Bin 0 -> 1959 bytes
www/plugins/auto/aveline/img/ic_annonce.png | Bin 0 -> 1499 bytes
www/plugins/auto/aveline/img/ic_ariane.png | Bin 0 -> 3441 bytes
www/plugins/auto/aveline/img/ic_ariane_2.png | Bin 0 -> 1606 bytes
www/plugins/auto/aveline/img/ic_article.png | Bin 0 -> 1018 bytes
www/plugins/auto/aveline/img/ic_article2.png | Bin 0 -> 438 bytes
www/plugins/auto/aveline/img/ic_auteur.png | Bin 0 -> 912 bytes
www/plugins/auto/aveline/img/ic_auteur2.png | Bin 0 -> 566 bytes
www/plugins/auto/aveline/img/ic_boussole.png | Bin 0 -> 1606 bytes
www/plugins/auto/aveline/img/ic_boussole2.png | Bin 0 -> 703 bytes
www/plugins/auto/aveline/img/ic_breve.png | Bin 0 -> 850 bytes
www/plugins/auto/aveline/img/ic_breve2.png | Bin 0 -> 674 bytes
www/plugins/auto/aveline/img/ic_cadenas.png | Bin 0 -> 1287 bytes
.../auto/aveline/img/ic_calendrier.png | Bin 0 -> 3341 bytes
.../auto/aveline/img/ic_calendrier2.png | Bin 0 -> 3087 bytes
.../auto/aveline/img/ic_configuration.png | Bin 0 -> 4396 bytes
.../auto/aveline/img/ic_configuration2.png | Bin 0 -> 3794 bytes
www/plugins/auto/aveline/img/ic_contact.png | Bin 0 -> 1406 bytes
www/plugins/auto/aveline/img/ic_document.png | Bin 0 -> 1237 bytes
www/plugins/auto/aveline/img/ic_document2.png | Bin 0 -> 3622 bytes
www/plugins/auto/aveline/img/ic_edition.png | Bin 0 -> 3859 bytes
www/plugins/auto/aveline/img/ic_forum.png | Bin 0 -> 3317 bytes
www/plugins/auto/aveline/img/ic_forum2.png | Bin 0 -> 3574 bytes
.../auto/aveline/img/ic_groupe_mots.png | Bin 0 -> 1263 bytes
.../auto/aveline/img/ic_information.png | Bin 0 -> 848 bytes
.../auto/aveline/img/ic_menu_rubriques.png | Bin 0 -> 1347 bytes
.../aveline/img/ic_menu_secteurlangue.png | Bin 0 -> 825 bytes
www/plugins/auto/aveline/img/ic_message.png | Bin 0 -> 1320 bytes
www/plugins/auto/aveline/img/ic_mot.png | Bin 0 -> 1364 bytes
www/plugins/auto/aveline/img/ic_mot2.png | Bin 0 -> 394 bytes
.../auto/aveline/img/ic_motdepasse.png | Bin 0 -> 1287 bytes
.../auto/aveline/img/ic_motdepasse2.png | Bin 0 -> 3649 bytes
www/plugins/auto/aveline/img/ic_petition.png | Bin 0 -> 1122 bytes
www/plugins/auto/aveline/img/ic_petition2.png | Bin 0 -> 3686 bytes
www/plugins/auto/aveline/img/ic_portfolio.png | Bin 0 -> 3440 bytes
www/plugins/auto/aveline/img/ic_poubelle.png | Bin 0 -> 1547 bytes
.../auto/aveline/img/ic_publication.png | Bin 0 -> 3698 bytes
www/plugins/auto/aveline/img/ic_reaction.png | Bin 0 -> 3992 bytes
www/plugins/auto/aveline/img/ic_recherche.png | Bin 0 -> 1018 bytes
www/plugins/auto/aveline/img/ic_rubrique.png | Bin 0 -> 982 bytes
www/plugins/auto/aveline/img/ic_rubrique2.png | Bin 0 -> 406 bytes
.../img/ic_rubrique_secteur_langue.png | Bin 0 -> 1163 bytes
www/plugins/auto/aveline/img/ic_site.png | Bin 0 -> 1599 bytes
www/plugins/auto/aveline/img/ic_site2.png | Bin 0 -> 839 bytes
www/plugins/auto/aveline/img/ic_slider.png | Bin 0 -> 3018 bytes
.../auto/aveline/img/ic_statistique.png | Bin 0 -> 1296 bytes
.../auto/aveline/img/ic_suivant_precedent.png | Bin 0 -> 1267 bytes
www/plugins/auto/aveline/img/ic_synchro.png | Bin 0 -> 853 bytes
.../auto/aveline/img/ic_syndic_article.png | Bin 0 -> 1584 bytes
www/plugins/auto/aveline/img/ic_warning.png | Bin 0 -> 1108 bytes
www/plugins/auto/aveline/img/simple_box.png | Bin 0 -> 14427 bytes
.../inc-yaml/anythingslider-options.yaml | 46 +
.../aveline/inc-yaml/branche-article.yaml | 36 +
.../auto/aveline/inc-yaml/branche-breve.yaml | 19 +
.../aveline/inc-yaml/branche-evenement.yaml | 36 +
.../auto/aveline/inc-yaml/branche-site.yaml | 36 +
.../inc-yaml/branche-syndic_article.yaml | 37 +
.../inc-yaml/choix_periode-evenement.yaml | 60 +
.../aveline/inc-yaml/choix_tri-article.yaml | 79 +
.../aveline/inc-yaml/choix_tri-auteur.yaml | 36 +
.../aveline/inc-yaml/choix_tri-breve.yaml | 48 +
.../aveline/inc-yaml/choix_tri-evenement.yaml | 42 +
.../aveline/inc-yaml/choix_tri-rubrique.yaml | 55 +
.../exclure_objet_en_cours-article.yaml | 6 +
.../exclure_objet_en_cours-auteur.yaml | 6 +
.../exclure_objet_en_cours-breve.yaml | 6 +
.../exclure_objet_en_cours-evenement.yaml | 6 +
.../inc-yaml/exclure_objet_en_cours-site.yaml | 6 +
.../aveline/inc-yaml/filtrer_articles.yaml | 37 +
.../inc-yaml/filtrer_sous_rubriques.yaml | 38 +
.../ignorer_si_objet_unique-article.yaml | 6 +
.../inc-yaml/inclure_exclure-document.yaml | 18 +
.../auto/aveline/inc-yaml/liste-mot.yaml | 24 +
.../aveline/inc-yaml/options-comment.yaml | 77 +
.../aveline/inc-yaml/options-recherche.yaml | 12 +
.../auto/aveline/inc-yaml/pagination.yaml | 63 +
.../aveline/inc-yaml/periode-evenement.yaml | 20 +
.../aveline/inc-yaml/restreindre_langue.yaml | 7 +
.../inc-yaml/resume-article-liste.yaml | 124 +
.../inc-yaml/resume-article-resume.yaml | 222 +
.../inc-yaml/resume-article-vignettes.yaml | 41 +
.../auto/aveline/inc-yaml/resume-article.yaml | 35 +
.../auto/aveline/inc-yaml/resume-auteur.yaml | 114 +
.../auto/aveline/inc-yaml/resume-breve.yaml | 196 +
.../aveline/inc-yaml/resume-document.yaml | 120 +
.../aveline/inc-yaml/resume-evenement.yaml | 220 +
.../auto/aveline/inc-yaml/resume-forum.yaml | 105 +
.../auto/aveline/inc-yaml/resume-mot.yaml | 107 +
.../aveline/inc-yaml/resume-rubrique.yaml | 119 +
.../auto/aveline/inc-yaml/resume-site.yaml | 190 +
.../inc-yaml/resume-syndic_article.yaml | 132 +
.../aveline/inc-yaml/selecteur_archives.yaml | 47 +
.../auto/aveline/inc-yaml/titre-article.yaml | 46 +
.../auto/aveline/inc-yaml/titre-auteur.yaml | 30 +
.../auto/aveline/inc-yaml/titre-breve.yaml | 29 +
.../auto/aveline/inc-yaml/titre-document.yaml | 25 +
.../aveline/inc-yaml/titre-evenement.yaml | 26 +
.../auto/aveline/inc-yaml/titre-forum.yaml | 28 +
.../auto/aveline/inc-yaml/titre-mot.yaml | 29 +
.../auto/aveline/inc-yaml/titre-rubrique.yaml | 28 +
.../auto/aveline/inc-yaml/titre-site.yaml | 27 +
.../inc-yaml/titre-syndic_article.yaml | 26 +
.../auto/aveline/inc-yaml/tri-article.yaml | 32 +
.../auto/aveline/inc-yaml/tri-auteur.yaml | 21 +
.../auto/aveline/inc-yaml/tri-breve.yaml | 22 +
.../auto/aveline/inc-yaml/tri-document.yaml | 23 +
.../auto/aveline/inc-yaml/tri-evenement.yaml | 22 +
.../auto/aveline/inc-yaml/tri-forum.yaml | 22 +
.../auto/aveline/inc-yaml/tri-recherche.yaml | 17 +
.../auto/aveline/inc-yaml/tri-rubrique.yaml | 26 +
.../auto/aveline/inc-yaml/tri-site.yaml | 20 +
.../aveline/inc-yaml/tri-syndic_article.yaml | 22 +
.../inc-yaml/tri_alphabetique-article.yaml | 23 +
.../inc-yaml/tri_alphabetique-auteur.yaml | 23 +
.../aveline/inclure/appel_anythingslider.html | 17 +
.../aveline/inclure/article-resume-image.html | 17 +
.../auto/aveline/inclure/article-resume.html | 98 +
...eur-articles-selecteur_archives-annee.html | 17 +
...teur-articles-selecteur_archives-mois.html | 17 +
.../auto/aveline/inclure/auteur-resume.html | 42 +
.../aveline/inclure/auteur_articles_note.html | 18 +
.../aveline/inclure/aveline-documents.html | 53 +
.../aveline/inclure/aveline-portfolio.html | 18 +
.../auto/aveline/inclure/breve-resume.html | 48 +
.../aveline/inclure/evenement-documents.html | 50 +
.../aveline/inclure/evenement-mots_cles.html | 3 +
.../aveline/inclure/evenement-portfolio.html | 18 +
.../aveline/inclure/evenement-resume.html | 56 +
.../auto/aveline/inclure/forum-resume.html | 25 +
www/plugins/auto/aveline/inclure/forum.html | 89 +
.../inclure/js_formulaire_reponse_volant.html | 55 +
...liste_articles-filtrer_sous_rubriques.html | 11 +
...ste_articles-selecteur_archives-annee.html | 17 +
...iste_articles-selecteur_archives-mois.html | 17 +
.../liste_articles-tri_alphabetique.html | 17 +
.../liste_auteurs-tri_alphabetique.html | 17 +
...liste_breves-selecteur_archives-annee.html | 17 +
.../liste_breves-selecteur_archives-mois.html | 17 +
.../liste_evenements-choix_periode.html | 21 +
.../liste_evenements-filtrer_articles.html | 13 +
...e_evenements-selecteur_archives-annee.html | 17 +
...te_evenements-selecteur_archives-mois.html | 17 +
...liste_forums-selecteur_archives-annee.html | 17 +
.../liste_forums-selecteur_archives-mois.html | 17 +
...dic_articles-selecteur_archives-annee.html | 17 +
...ndic_articles-selecteur_archives-mois.html | 17 +
.../auto/aveline/inclure/miniplan.html | 45 +
...mot-articles-selecteur_archives-annee.html | 17 +
.../mot-articles-selecteur_archives-mois.html | 17 +
.../mot-breves-selecteur_archives-annee.html | 17 +
.../mot-breves-selecteur_archives-mois.html | 17 +
.../inclure/mot-evenements-choix_periode.html | 21 +
...t-evenements-selecteur_archives-annee.html | 17 +
...ot-evenements-selecteur_archives-mois.html | 17 +
.../auto/aveline/inclure/mot-resume.html | 31 +
.../inclure/mot-selecteur_archives-annee.html | 17 +
.../inclure/mot-selecteur_archives-mois.html | 17 +
.../auto/aveline/inclure/mots_cles.html | 24 +
.../auto/aveline/inclure/objet-mots_cles.html | 3 +
...che-articles-selecteur_archives-annee.html | 17 +
...rche-articles-selecteur_archives-mois.html | 17 +
...erche-breves-selecteur_archives-annee.html | 17 +
...herche-breves-selecteur_archives-mois.html | 17 +
.../recherche-evenements-choix_periode.html | 21 +
...e-evenements-selecteur_archives-annee.html | 17 +
...he-evenements-selecteur_archives-mois.html | 17 +
.../recherche-selecteur_archives-annee.html | 17 +
.../recherche-selecteur_archives-mois.html | 17 +
...dic_articles-selecteur_archives-annee.html | 17 +
...ndic_articles-selecteur_archives-mois.html | 17 +
.../auto/aveline/inclure/rubrique-resume.html | 35 +
.../inclure/site-derniers_articles.html | 8 +
.../auto/aveline/inclure/site-resume.html | 46 +
...dic_articles-selecteur_archives-annee.html | 17 +
...ndic_articles-selecteur_archives-mois.html | 17 +
.../auto/aveline/inclure/source_rss.html | 1 +
.../inclure/syndic_article-resume.html | 36 +
www/plugins/auto/aveline/lang/aveline.xml | 9 +
www/plugins/auto/aveline/lang/aveline_ca.php | 478 +
www/plugins/auto/aveline/lang/aveline_fr.php | 476 +
www/plugins/auto/aveline/lang/aveline_sk.php | 479 +
.../auto/aveline/lang/avelinepublic.xml | 9 +
.../auto/aveline/lang/avelinepublic_en.php | 139 +
.../auto/aveline/lang/avelinepublic_fr.php | 137 +
.../auto/aveline/lang/avelinepublic_sk.php | 139 +
www/plugins/auto/aveline/modeles/comment.html | 33 +
.../aveline/modeles/pagination_simple.html | 38 +
.../anythingslider_liste_articles.html | 13 +
.../anythingslider_liste_articles.yaml | 64 +
.../anythingslider_liste_evenements.html | 21 +
.../anythingslider_liste_evenements.yaml | 42 +
.../anythingslider_liste_syndic_articles.html | 13 +
.../anythingslider_liste_syndic_articles.yaml | 39 +
.../noisettes/article-contenuprincipal.html | 52 +
.../noisettes/article-contenuprincipal.yaml | 114 +
.../aveline/noisettes/article-documents.html | 2 +
.../aveline/noisettes/article-documents.yaml | 12 +
.../aveline/noisettes/article-filariane.html | 12 +
.../aveline/noisettes/article-filariane.yaml | 39 +
.../article-formulaire_notation.html | 9 +
.../article-formulaire_notation.yaml | 40 +
.../auto/aveline/noisettes/article-forum.html | 2 +
.../auto/aveline/noisettes/article-forum.yaml | 4 +
.../noisettes/article-lien_hypertexte.html | 8 +
.../noisettes/article-lien_hypertexte.yaml | 30 +
.../aveline/noisettes/article-mots_cles.html | 1 +
.../aveline/noisettes/article-mots_cles.yaml | 11 +
.../aveline/noisettes/article-petition.html | 4 +
.../aveline/noisettes/article-petition.yaml | 2 +
.../aveline/noisettes/article-portfolio.html | 2 +
.../aveline/noisettes/article-portfolio.yaml | 42 +
.../noisettes/article-precedent_suivant.html | 24 +
.../noisettes/article-precedent_suivant.yaml | 58 +
.../aveline/noisettes/auteur-articles.html | 22 +
.../aveline/noisettes/auteur-articles.yaml | 17 +
.../noisettes/auteur-contenuprincipal.html | 18 +
.../noisettes/auteur-contenuprincipal.yaml | 36 +
.../aveline/noisettes/auteur-filariane.html | 10 +
.../aveline/noisettes/auteur-filariane.yaml | 39 +
.../auteur-formulaire_ecrire_auteur.html | 7 +
.../auteur-formulaire_ecrire_auteur.yaml | 29 +
.../noisettes/breve-contenuprincipal.html | 26 +
.../noisettes/breve-contenuprincipal.yaml | 43 +
.../aveline/noisettes/breve-filariane.html | 12 +
.../aveline/noisettes/breve-filariane.yaml | 39 +
.../auto/aveline/noisettes/breve-forum.html | 2 +
.../auto/aveline/noisettes/breve-forum.yaml | 4 +
.../aveline/noisettes/breve-mots_cles.html | 1 +
.../aveline/noisettes/breve-mots_cles.yaml | 11 +
.../aveline/noisettes/calendrier_mini.html | 65 +
.../aveline/noisettes/calendrier_mini.yaml | 15 +
.../noisettes/evenement-contenuprincipal.html | 34 +
.../noisettes/evenement-contenuprincipal.yaml | 68 +
.../noisettes/evenement-documents.html | 2 +
.../noisettes/evenement-documents.yaml | 25 +
.../noisettes/evenement-filariane.html | 13 +
.../noisettes/evenement-filariane.yaml | 39 +
...ement-formulaire_participer_evenement.html | 6 +
...ement-formulaire_participer_evenement.yaml | 27 +
.../noisettes/evenement-mots_cles.html | 22 +
.../noisettes/evenement-mots_cles.yaml | 11 +
.../noisettes/evenement-portfolio.html | 2 +
.../noisettes/evenement-portfolio.yaml | 44 +
.../noisettes/formulaire_inscription.html | 2 +
.../noisettes/formulaire_inscription.yaml | 3 +
.../noisettes/formulaire_recherche.html | 1 +
.../noisettes/formulaire_recherche.yaml | 3 +
.../noisettes/groupe_mots-autres_groupes.html | 17 +
.../noisettes/groupe_mots-autres_groupes.yaml | 38 +
.../groupe_mots-contenuprincipal.html | 16 +
.../groupe_mots-contenuprincipal.yaml | 20 +
.../noisettes/groupe_mots-filariane.html | 9 +
.../noisettes/groupe_mots-filariane.yaml | 32 +
.../noisettes/groupe_mots-mots_cles.html | 1 +
.../noisettes/groupe_mots-mots_cles.yaml | 9 +
.../aveline/noisettes/liste_articles.html | 41 +
.../aveline/noisettes/liste_articles.yaml | 23 +
.../auto/aveline/noisettes/liste_auteurs.html | 23 +
.../auto/aveline/noisettes/liste_auteurs.yaml | 13 +
.../auto/aveline/noisettes/liste_breves.html | 22 +
.../auto/aveline/noisettes/liste_breves.yaml | 19 +
.../aveline/noisettes/liste_documents.html | 1 +
.../aveline/noisettes/liste_documents.yaml | 16 +
.../aveline/noisettes/liste_evenements.html | 42 +
.../aveline/noisettes/liste_evenements.yaml | 27 +
.../auto/aveline/noisettes/liste_forums.html | 20 +
.../auto/aveline/noisettes/liste_forums.yaml | 12 +
.../aveline/noisettes/liste_mots_cles.html | 1 +
.../aveline/noisettes/liste_mots_cles.yaml | 9 +
.../aveline/noisettes/liste_portfolio.html | 1 +
.../aveline/noisettes/liste_portfolio.yaml | 37 +
.../auto/aveline/noisettes/liste_sites.html | 14 +
.../auto/aveline/noisettes/liste_sites.yaml | 14 +
.../noisettes/liste_syndic_articles.html | 20 +
.../noisettes/liste_syndic_articles.yaml | 18 +
.../auto/aveline/noisettes/logositespip.html | 3 +
.../auto/aveline/noisettes/logositespip.yaml | 13 +
.../auto/aveline/noisettes/mot-articles.html | 22 +
.../auto/aveline/noisettes/mot-articles.yaml | 17 +
.../aveline/noisettes/mot-autres_groupes.html | 17 +
.../aveline/noisettes/mot-autres_groupes.yaml | 38 +
.../auto/aveline/noisettes/mot-breves.html | 22 +
.../auto/aveline/noisettes/mot-breves.yaml | 19 +
.../noisettes/mot-contenuprincipal.html | 21 +
.../noisettes/mot-contenuprincipal.yaml | 42 +
.../aveline/noisettes/mot-evenements.html | 36 +
.../aveline/noisettes/mot-evenements.yaml | 23 +
.../auto/aveline/noisettes/mot-filariane.html | 10 +
.../auto/aveline/noisettes/mot-filariane.yaml | 44 +
.../auto/aveline/noisettes/mot-forums.html | 20 +
.../auto/aveline/noisettes/mot-forums.yaml | 12 +
.../noisettes/mot-mots_meme_groupe.html | 3 +
.../noisettes/mot-mots_meme_groupe.yaml | 9 +
.../auto/aveline/noisettes/mot-rubriques.html | 16 +
.../auto/aveline/noisettes/mot-rubriques.yaml | 12 +
.../auto/aveline/noisettes/mot-sites.html | 14 +
.../auto/aveline/noisettes/mot-sites.yaml | 12 +
.../noisettes/navigation_rubriques.html | 31 +
.../noisettes/navigation_rubriques.yaml | 34 +
.../navigation_secteurs_langues.html | 35 +
.../navigation_secteurs_langues.yaml | 34 +
.../noisettes/page-401-formulaire_login.html | 4 +
.../noisettes/page-401-formulaire_login.yaml | 3 +
.../noisettes/page-agenda-filariane.html | 5 +
.../noisettes/page-agenda-filariane.yaml | 17 +
.../aveline/noisettes/page-filariane.html | 6 +
.../aveline/noisettes/page-filariane.yaml | 35 +
.../page-forum-contenuprincipal.html | 47 +
.../page-forum-contenuprincipal.yaml | 11 +
.../noisettes/page-forum-filariane.html | 46 +
.../noisettes/page-forum-filariane.yaml | 26 +
.../noisettes/page-login-filariane.html | 10 +
.../noisettes/page-login-filariane.yaml | 17 +
.../page-login-formulaire_login.html | 13 +
.../page-login-formulaire_login.yaml | 3 +
.../noisettes/page-plan-contenuprincipal.html | 5 +
.../noisettes/page-plan-contenuprincipal.yaml | 4 +
.../noisettes/page-plan-filariane.html | 5 +
.../noisettes/page-plan-filariane.yaml | 17 +
.../noisettes/page-recherche-articles.html | 24 +
.../noisettes/page-recherche-articles.yaml | 19 +
.../noisettes/page-recherche-auteurs.html | 18 +
.../noisettes/page-recherche-auteurs.yaml | 15 +
.../noisettes/page-recherche-breves.html | 24 +
.../noisettes/page-recherche-breves.yaml | 21 +
.../page-recherche-contenuprincipal.html | 6 +
.../page-recherche-contenuprincipal.yaml | 3 +
.../noisettes/page-recherche-documents.html | 1 +
.../noisettes/page-recherche-documents.yaml | 12 +
.../noisettes/page-recherche-evenements.html | 33 +
.../noisettes/page-recherche-evenements.yaml | 24 +
.../noisettes/page-recherche-filariane.html | 7 +
.../noisettes/page-recherche-filariane.yaml | 24 +
.../noisettes/page-recherche-forums.html | 22 +
.../noisettes/page-recherche-forums.yaml | 14 +
.../noisettes/page-recherche-mots.html | 1 +
.../noisettes/page-recherche-mots.yaml | 12 +
.../noisettes/page-recherche-rubriques.html | 18 +
.../noisettes/page-recherche-rubriques.yaml | 16 +
.../noisettes/page-recherche-sites.html | 16 +
.../noisettes/page-recherche-sites.yaml | 14 +
.../page-recherche-syndic_articles.html | 22 +
.../page-recherche-syndic_articles.yaml | 19 +
.../page-sommaire-contenuprincipal.html | 9 +
.../page-sommaire-contenuprincipal.yaml | 39 +
.../auto/aveline/noisettes/plan_simple.html | 40 +
.../auto/aveline/noisettes/plan_simple.yaml | 11 +
.../noisettes/plan_simple_secteur_langue.html | 42 +
.../noisettes/plan_simple_secteur_langue.yaml | 11 +
.../noisettes/rubrique-contenuprincipal.html | 23 +
.../noisettes/rubrique-contenuprincipal.yaml | 42 +
.../aveline/noisettes/rubrique-documents.html | 2 +
.../aveline/noisettes/rubrique-documents.yaml | 12 +
.../aveline/noisettes/rubrique-filariane.html | 11 +
.../aveline/noisettes/rubrique-filariane.yaml | 39 +
.../noisettes/rubrique-formulaire_site.html | 3 +
.../noisettes/rubrique-formulaire_site.yaml | 3 +
.../aveline/noisettes/rubrique-forum.html | 2 +
.../aveline/noisettes/rubrique-forum.yaml | 4 +
.../aveline/noisettes/rubrique-miniplan.html | 8 +
.../aveline/noisettes/rubrique-miniplan.yaml | 52 +
.../aveline/noisettes/rubrique-mots_cles.html | 1 +
.../aveline/noisettes/rubrique-mots_cles.yaml | 11 +
.../aveline/noisettes/rubrique-portfolio.html | 2 +
.../aveline/noisettes/rubrique-portfolio.yaml | 42 +
.../noisettes/rubrique-sous_rubriques.html | 16 +
.../noisettes/rubrique-sous_rubriques.yaml | 13 +
.../aveline/noisettes/rubriques_racine.html | 16 +
.../aveline/noisettes/rubriques_racine.yaml | 14 +
.../noisettes/rubriques_secteur_langue.html | 23 +
.../noisettes/rubriques_secteur_langue.yaml | 13 +
.../aveline/noisettes/selecteur_archives.html | 68 +
.../aveline/noisettes/selecteur_archives.yaml | 65 +
.../aveline/noisettes/selection_articles.html | 19 +
.../aveline/noisettes/selection_articles.yaml | 33 +
.../noisettes/site-contenuprincipal.html | 20 +
.../noisettes/site-contenuprincipal.yaml | 36 +
.../aveline/noisettes/site-filariane.html | 12 +
.../aveline/noisettes/site-filariane.yaml | 39 +
.../auto/aveline/noisettes/site-forum.html | 2 +
.../auto/aveline/noisettes/site-forum.yaml | 4 +
.../aveline/noisettes/site-mots_cles.html | 1 +
.../aveline/noisettes/site-mots_cles.yaml | 11 +
.../noisettes/site-syndic_articles.html | 20 +
.../noisettes/site-syndic_articles.yaml | 17 +
.../noisettes/titre_descriptif_site.html | 3 +
.../noisettes/titre_descriptif_site.yaml | 22 +
www/plugins/auto/aveline/plugin.xml | 34 +
.../saisies-vues/selection_selon_plugin.html | 5 +
.../saisies/selection_selon_plugin.html | 28 +
www/plugins/auto/aveline/svn.revision | 10 +
.../auto/cfg/action/crayons_config_store.php | 74 +
www/plugins/auto/cfg/cfg-16.png | Bin 0 -> 611 bytes
www/plugins/auto/cfg/cfg-22.png | Bin 0 -> 1151 bytes
www/plugins/auto/cfg/cfg-doc-22.png | Bin 0 -> 688 bytes
www/plugins/auto/cfg/cfg.css.html | 22 +
www/plugins/auto/cfg/cfg.png | Bin 0 -> 8469 bytes
.../auto/cfg/cfg/classes/cfg_couleur.php | 35 +
.../auto/cfg/cfg/classes/cfg_fichier.php | 376 +
www/plugins/auto/cfg/cfg/classes/cfg_id.php | 81 +
www/plugins/auto/cfg/cfg/classes/type_id.php | 29 +
.../auto/cfg/cfg/classes/type_idnum.php | 40 +
www/plugins/auto/cfg/cfg/classes/type_pwd.php | 30 +
www/plugins/auto/cfg/cfg/params/rediriger.php | 58 +
.../auto/cfg/cfg/params/selecteur_couleur.php | 47 +
www/plugins/auto/cfg/cfg_fonctions.php | 317 +
www/plugins/auto/cfg/cfg_options.php | 45 +
www/plugins/auto/cfg/cfg_pipeline.php | 275 +
www/plugins/auto/cfg/changelog.txt | 361 +
www/plugins/auto/cfg/controleurs/config.php | 52 +
www/plugins/auto/cfg/depots/meta.php | 144 +
www/plugins/auto/cfg/depots/metapack.php | 254 +
www/plugins/auto/cfg/depots/php.php | 283 +
www/plugins/auto/cfg/depots/table.php | 336 +
www/plugins/auto/cfg/depots/tablepack.php | 390 +
www/plugins/auto/cfg/exec/cfg.php | 91 +
.../auto/cfg/formulaires/configurer.html | 29 +
www/plugins/auto/cfg/inc/cfg.php | 426 +
www/plugins/auto/cfg/inc/cfg_config.php | 309 +
www/plugins/auto/cfg/inc/cfg_formulaire.php | 836 ++
www/plugins/auto/cfg/inc/compat_cfg.php | 363 +
www/plugins/auto/cfg/lang/cfg.xml | 37 +
www/plugins/auto/cfg/lang/cfg_ar.php | 64 +
www/plugins/auto/cfg/lang/cfg_ast.php | 64 +
www/plugins/auto/cfg/lang/cfg_br.php | 64 +
www/plugins/auto/cfg/lang/cfg_ca.php | 64 +
www/plugins/auto/cfg/lang/cfg_cs.php | 64 +
www/plugins/auto/cfg/lang/cfg_de.php | 64 +
www/plugins/auto/cfg/lang/cfg_en.php | 64 +
www/plugins/auto/cfg/lang/cfg_es.php | 64 +
www/plugins/auto/cfg/lang/cfg_fa.php | 64 +
www/plugins/auto/cfg/lang/cfg_fr.php | 62 +
www/plugins/auto/cfg/lang/cfg_fr_tu.php | 64 +
www/plugins/auto/cfg/lang/cfg_gl.php | 64 +
www/plugins/auto/cfg/lang/cfg_it.php | 64 +
www/plugins/auto/cfg/lang/cfg_nl.php | 64 +
www/plugins/auto/cfg/lang/cfg_pt_br.php | 64 +
www/plugins/auto/cfg/lang/cfg_ro.php | 64 +
www/plugins/auto/cfg/lang/cfg_ru.php | 64 +
www/plugins/auto/cfg/lang/cfg_sk.php | 64 +
www/plugins/auto/cfg/lang/cfg_sv.php | 64 +
www/plugins/auto/cfg/lang/cfg_tr.php | 64 +
www/plugins/auto/cfg/plugin.xml | 78 +
www/plugins/auto/cfg/svn.revision | 10 +
www/plugins/auto/cfg/test_cfg.html | 4 +
.../auto/cfg/tests/depot_differents.php | 87 +
www/plugins/auto/cfg/tests/depot_meta.php | 138 +
www/plugins/auto/cfg/tests/depot_metapack.php | 156 +
www/plugins/auto/cfg/tests/depot_php.php | 116 +
.../auto/cfg/tests/depot_tablepack.php | 148 +
www/plugins/auto/cfg/todo.txt | 32 +
www/plugins/auto/cfg/vues/config.php | 27 +
.../compositions_v2/base/compositions.php | 100 +
.../compositions_v2/composition-vide.html | 9 +
.../compositions_fonctions.php | 370 +
.../compositions_v2/compositions_pipeline.php | 126 +
.../fonds/cfg_compositions.html | 8 +
.../formulaires/configurer_compositions.html | 40 +
.../formulaires/editer_composition_objet.html | 82 +
.../formulaires/editer_composition_objet.php | 108 +
.../inc-informeur_composition.html | 8 +
.../inc-selecteur_composition.html | 8 +
.../images/composition-cours.png | Bin 0 -> 545 bytes
.../images/composition-tableau.png | Bin 0 -> 428 bytes
.../images/composition-test.png | Bin 0 -> 506 bytes
.../images/compositions-16.png | Bin 0 -> 195 bytes
.../images/compositions-24.png | Bin 0 -> 175 bytes
.../images/compositions-32.png | Bin 0 -> 188 bytes
.../images/compositions-48.png | Bin 0 -> 291 bytes
.../images/compositions-64.png | Bin 0 -> 201 bytes
.../compositions_v2/images/compositions.png | Bin 0 -> 235 bytes
.../images/objet-liste-contenus-dates.png | Bin 0 -> 692 bytes
.../images/objet-liste-contenus.png | Bin 0 -> 491 bytes
.../compositions_v2/images/objet-simple.png | Bin 0 -> 463 bytes
.../auto/compositions_v2/inc/compositions.php | 92 +
.../compositions_v2/lang/compositions_en.php | 43 +
.../compositions_v2/lang/compositions_es.php | 39 +
.../compositions_v2/lang/compositions_fr.php | 43 +
www/plugins/auto/compositions_v2/plugin.xml | 44 +
.../prive/editer/compositions.html | 1 +
.../prive/exec/compositions.html | 28 +
.../prive/exec/configurer_compositions.html | 6 +
.../style_prive_plugin_compositions.html | 46 +
.../compositions_v2/saisies/composition.html | 25 +
.../saisies/composition_fonctions.php | 5 +
www/plugins/auto/compositions_v2/svn.revision | 10 +
.../couteau_suisse/action/action_rapide.php | 55 +
.../action/description_outil.php | 65 +
.../couteau_suisse/base/cout_install.php | 3 +
.../couteau_suisse/base/cout_upgrade.php | 3 +
.../couteau_suisse/config_outils.php | 1414 ++
.../couteau_suisse/cout_dates.js.html | 213 +
.../couteau_suisse/cout_define.php | 52 +
.../couteau_suisse/cout_lancement.php | 273 +
.../couteau_suisse/cout_pipelines.php | 302 +
.../couteau_suisse/cout_utils.php | 741 +
.../couteau_suisse_administrations.php | 147 +
.../couteau_suisse_fonctions.php | 34 +
.../couteau_suisse/couteau_suisse_options.php | 287 +
.../couteau_suisse/exec/action_rapide.php | 66 +
.../exec/admin_couteau_suisse.php | 293 +
.../exec/admin_couteau_suisse_head.html | 356 +
.../exec/admin_couteau_suisse_old.php | 11 +
.../exec/charger_description_outil.php | 29 +
.../couteau_suisse/exec/cs_boite_rss.php | 65 +
.../couteau_suisse/exec/cs_version.php | 37 +
.../couteau_suisse/exec/description_outil.php | 36 +
.../exec/test_couteau_suisse.php | 225 +
.../couteau_suisse/fonds/decoupe.html | 64 +
.../couteau_suisse/fonds/decoupe_item.html | 10 +
.../fonds/derniers_connectes.html | 33 +
.../couteau_suisse/fonds/en_travaux.html | 70 +
.../couteau_suisse/fonds/format_spip.html | 23 +
.../couteau_suisse/fonds/glossaire_css.html | 17 +
.../couteau_suisse/fonds/glossaire_js.html | 14 +
.../couteau_suisse/fonds/sommaire.html | 24 +
.../couteau_suisse/fonds/test_spam.html | 29 +
.../couteau_suisse/fonds/test_spam_bd.html | 31 +
.../couteau_suisse/fonds/tri_auteurs.html | 27 +
.../couteau_suisse/fonds/type_urls.html | 118 +
.../couteau_suisse/fonds/type_urls_191.html | 131 +
.../couteau_suisse/fonds/type_urls_liste.html | 13 +
.../fonds/visiteurs_connectes.html | 7 +
.../couteau_suisse/icones_barre/autobr.png | Bin 0 -> 1078 bytes
.../icones_barre/bloc_invisible.png | Bin 0 -> 349 bytes
.../icones_barre/bloc_visible.png | Bin 0 -> 401 bytes
.../icones_barre/couteau-19.png | Bin 0 -> 1533 bytes
.../icones_barre/decoration_auto.png | Bin 0 -> 667 bytes
.../icones_barre/decoration_barre.png | Bin 0 -> 269 bytes
.../icones_barre/decoration_dessus.png | Bin 0 -> 258 bytes
.../icones_barre/decoration_div.png | Bin 0 -> 667 bytes
.../icones_barre/decoration_sc.png | Bin 0 -> 262 bytes
.../icones_barre/decoration_souligne.png | Bin 0 -> 255 bytes
.../icones_barre/decoration_span.png | Bin 0 -> 670 bytes
.../icones_barre/decoration_surfluo.png | Bin 0 -> 563 bytes
.../icones_barre/decoration_surgris.png | Bin 0 -> 571 bytes
.../icones_barre/decoupe_onglets.png | Bin 0 -> 467 bytes
.../icones_barre/decoupe_pages.png | Bin 0 -> 524 bytes
.../couteau_suisse/img/chatons/euh.png | Bin 0 -> 529 bytes
.../couteau_suisse/img/chatons/grr.gif | Bin 0 -> 2975 bytes
.../couteau_suisse/img/chatons/lol.png | Bin 0 -> 328 bytes
.../couteau_suisse/img/chatons/mdr.png | Bin 0 -> 364 bytes
.../couteau_suisse/img/chatons/oups.jpg | Bin 0 -> 911 bytes
.../couteau_suisse/img/couteau-24.gif | Bin 0 -> 1255 bytes
.../couteau_suisse/img/couteau-50.gif | Bin 0 -> 1884 bytes
.../couteau_suisse/img/decoupe/precedent.gif | Bin 0 -> 60 bytes
.../img/decoupe/precedent_off.gif | Bin 0 -> 53 bytes
.../couteau_suisse/img/decoupe/suivant.gif | Bin 0 -> 60 bytes
.../img/decoupe/suivant_off.gif | Bin 0 -> 54 bytes
.../couteau_suisse/img/filets/degrade.png | Bin 0 -> 5047 bytes
.../couteau_suisse/img/filets/ornement.png | Bin 0 -> 10231 bytes
.../couteau_suisse/img/formatspip-24.png | Bin 0 -> 1505 bytes
.../couteau_suisse/img/loupe.png | Bin 0 -> 914 bytes
.../couteau_suisse/img/mailcrypt/leure.gif | Bin 0 -> 100 bytes
.../couteau_suisse/img/nosel.gif | Bin 0 -> 994 bytes
.../couteau_suisse/img/permute.gif | Bin 0 -> 950 bytes
.../couteau_suisse/img/smileys/bof.png | Bin 0 -> 889 bytes
.../img/smileys/clin_d-oeil.png | Bin 0 -> 967 bytes
.../couteau_suisse/img/smileys/diable.png | Bin 0 -> 993 bytes
.../couteau_suisse/img/smileys/en_colere.png | Bin 0 -> 883 bytes
.../couteau_suisse/img/smileys/index.html | 145 +
.../couteau_suisse/img/smileys/logo.gif | Bin 0 -> 3534 bytes
.../couteau_suisse/img/smileys/lunettes.png | Bin 0 -> 811 bytes
.../img/smileys/mort_de_rire.png | Bin 0 -> 886 bytes
.../couteau_suisse/img/smileys/mouais.png | Bin 0 -> 938 bytes
.../img/smileys/pas_content.png | Bin 0 -> 951 bytes
.../img/smileys/pleure_de_rire.png | Bin 0 -> 933 bytes
.../couteau_suisse/img/smileys/rigolo.png | Bin 0 -> 1002 bytes
.../couteau_suisse/img/smileys/rouge.png | Bin 0 -> 992 bytes
.../couteau_suisse/img/smileys/sourire.png | Bin 0 -> 959 bytes
.../couteau_suisse/img/smileys/surpris.png | Bin 0 -> 895 bytes
.../couteau_suisse/img/smileys/tableau.gif | Bin 0 -> 8159 bytes
.../img/smileys/tire_la_langue.png | Bin 0 -> 1021 bytes
.../couteau_suisse/img/smileys/triste.png | Bin 0 -> 980 bytes
.../couteau_suisse/img/sommaire/coin.gif | Bin 0 -> 1953 bytes
.../couteau_suisse/inc/cs_outils.php | 301 +
.../couteau_suisse/inc/description_outil.php | 271 +
.../couteau_suisse/lang/couteau.xml | 39 +
.../couteau_suisse/lang/couteau_ar.php | 149 +
.../couteau_suisse/lang/couteau_ast.php | 149 +
.../couteau_suisse/lang/couteau_br.php | 149 +
.../couteau_suisse/lang/couteau_ca.php | 149 +
.../couteau_suisse/lang/couteau_de.php | 149 +
.../couteau_suisse/lang/couteau_en.php | 149 +
.../couteau_suisse/lang/couteau_es.php | 149 +
.../couteau_suisse/lang/couteau_fa.php | 151 +
.../couteau_suisse/lang/couteau_fr.php | 147 +
.../couteau_suisse/lang/couteau_fr_tu.php | 149 +
.../couteau_suisse/lang/couteau_gl.php | 149 +
.../couteau_suisse/lang/couteau_it.php | 149 +
.../couteau_suisse/lang/couteau_km.php | 149 +
.../couteau_suisse/lang/couteau_nl.php | 149 +
.../couteau_suisse/lang/couteau_pt_br.php | 149 +
.../couteau_suisse/lang/couteau_ro.php | 149 +
.../couteau_suisse/lang/couteau_sk.php | 149 +
.../couteau_suisse/lang/couteau_sv.php | 149 +
.../couteau_suisse/lang/couteau_tr.php | 149 +
.../couteau_suisse/lang/couteauprive.xml | 24 +
.../couteau_suisse/lang/couteauprive_ar.php | 871 ++
.../couteau_suisse/lang/couteauprive_ast.php | 905 ++
.../couteau_suisse/lang/couteauprive_br.php | 23 +
.../couteau_suisse/lang/couteauprive_ca.php | 942 ++
.../couteau_suisse/lang/couteauprive_en.php | 1195 ++
.../couteau_suisse/lang/couteauprive_es.php | 900 ++
.../couteau_suisse/lang/couteauprive_fr.php | 933 ++
.../lang/couteauprive_fr_tu.php | 936 ++
.../couteau_suisse/lang/couteauprive_gl.php | 905 ++
.../couteau_suisse/lang/couteauprive_nl.php | 887 ++
.../couteau_suisse/lang/couteauprive_sk.php | 908 ++
.../couteau_suisse/lang/couteauprive_tr.php | 868 ++
.../lang/paquet-couteau_suisse_fr.php | 22 +
.../couteau_suisse/lisezmoi.txt | 3 +
.../couteau_suisse/modeles/bolo.html | 5 +
.../couteau_suisse/modeles/horloge.html | 13 +
.../couteau_suisse/modeles/lesauteurs.html | 12 +
.../outils/auteur_forum.js.html | 51 +
.../couteau_suisse/outils/autobr.php | 59 +
.../outils/balise_set_fonctions.php | 30 +
.../couteau_suisse/outils/blocs.css.html | 18 +
.../couteau_suisse/outils/blocs.js | 192 +
.../couteau_suisse/outils/blocs.php | 94 +
.../couteau_suisse/outils/blocs_config.php | 67 +
.../couteau_suisse/outils/blocs_fonctions.php | 190 +
.../couteau_suisse/outils/boites_privees.php | 215 +
.../outils/boites_privees_action_rapide.php | 86 +
.../couteau_suisse/outils/chatons.php | 101 +
.../outils/class_spip_config.php | 107 +
.../outils/corbeille_action_rapide.php | 125 +
.../couteau_suisse/outils/couleurs.php | 244 +
.../couteau_suisse/outils/cout_fonctions.php | 126 +
.../couteau_suisse/outils/decoration.php | 194 +
.../couteau_suisse/outils/decoupe.css | 106 +
.../couteau_suisse/outils/decoupe.js | 82 +
.../couteau_suisse/outils/decoupe.php | 52 +
.../outils/decoupe_fonctions.php | 269 +
.../outils/desactiver_flash.js.html | 17 +
.../couteau_suisse/outils/devdebug_config.php | 63 +
.../outils/devdebug_options.php | 89 +
.../couteau_suisse/outils/ecran_securite.php | 38 +
.../outils/en_travaux_options.php | 80 +
.../couteau_suisse/outils/filets_sep.css | 83 +
.../couteau_suisse/outils/filets_sep.php | 171 +
.../couteau_suisse/outils/glossaire.css | 76 +
.../couteau_suisse/outils/glossaire.js | 141 +
.../outils/glossaire_action_rapide.php | 51 +
.../outils/glossaire_fonctions.php | 283 +
.../couteau_suisse/outils/guillemets.php | 97 +
.../outils/horloge_fonctions.php | 37 +
.../couteau_suisse/outils/icone_visiter.php | 33 +
.../couteau_suisse/outils/inc_cs_liens.php | 69 +
.../couteau_suisse/outils/insertions.php | 33 +
.../outils/insertions_fonctions.php | 23 +
.../outils/interface_config.xml | 176 +
.../outils/introduction_fonctions.php | 123 +
.../couteau_suisse/outils/jcorner.js.html | 6 +
.../couteau_suisse/outils/jcorner.php | 34 +
.../couteau_suisse/outils/jquery.jclock.js | 213 +
.../outils/jquery.localscroll.js | 104 +
.../couteau_suisse/outils/jquery.scrollto.js | 215 +
.../couteau_suisse/outils/liens_en_clair.php | 13 +
.../outils/liens_en_clair_fonctions.php | 28 +
.../couteau_suisse/outils/liens_orphelins.php | 51 +
.../outils/liens_orphelins_fonctions.php | 36 +
.../outils/mailcrypt_fonctions.php | 66 +
.../outils/maj_auto_action_rapide.php | 296 +
.../couteau_suisse/outils/maj_auto_php5.php | 20 +
.../outils/moderation_moderee.php | 14 +
.../outils/orientation_fonctions.php | 30 +
.../outils/pack_action_rapide.php | 78 +
.../couteau_suisse/outils/set_options.php | 15 +
.../couteau_suisse/outils/smileys.php | 186 +
.../outils/smileys_fonctions.php | 104 +
.../couteau_suisse/outils/sommaire.css.html | 78 +
.../couteau_suisse/outils/sommaire.js | 30 +
.../couteau_suisse/outils/sommaire.php | 88 +
.../outils/sommaire_fonctions.php | 197 +
.../couteau_suisse/outils/spam.php | 61 +
.../outils/spam_action_rapide.php | 58 +
.../couteau_suisse/outils/spam_options.php | 54 +
.../outils/spip_cache_action_rapide.php | 57 +
.../outils/spip_cache_config.php | 99 +
.../outils/titre_parent_fonctions.php | 151 +
.../couteau_suisse/outils/titres_typo.php | 29 +
.../couteau_suisse/outils/toutmulti.php | 35 +
.../outils/trousse_balises_fonctions.php | 88 +
.../outils/type_urls_action_rapide.php | 172 +
.../outils/type_urls_config.php | 252 +
.../couteau_suisse/outils/typo_exposants.php | 129 +
.../outils/verstexte_fonctions.php | 91 +
.../couteau_suisse/couteau_suisse/paquet.xml | 51 +
.../couteau_suisse/couteau_suisse/plugin.xml | 294 +
.../prive/themes/spip/images/couteau-16.png | Bin 0 -> 710 bytes
.../couteau_suisse/svn.revision | 10 +
.../auto/fullcalendar/base/fullcalendar.php | 125 +
.../fullcalendar/base/fullcalendar_init.php | 60 +
.../auto/fullcalendar/css/calendar.png | Bin 0 -> 532 bytes
.../fullcalendar/css/calendar_style.css.html | 9 +
.../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 0 -> 251 bytes
.../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 0 -> 181 bytes
.../images/ui-bg_glass_100_e4f1fb_1x400.png | Bin 0 -> 119 bytes
.../images/ui-bg_glass_50_3baae3_1x400.png | Bin 0 -> 176 bytes
.../images/ui-bg_glass_80_d7ebf9_1x400.png | Bin 0 -> 124 bytes
.../ui-bg_highlight-hard_100_f2f5f7_1x100.png | Bin 0 -> 133 bytes
.../ui-bg_highlight-hard_70_000000_1x100.png | Bin 0 -> 118 bytes
.../ui-bg_highlight-soft_100_deedf7_1x100.png | Bin 0 -> 104 bytes
.../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 0 -> 119 bytes
.../images/ui-icons_2694e8_256x240.png | Bin 0 -> 4369 bytes
.../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes
.../images/ui-icons_3d80b3_256x240.png | Bin 0 -> 5355 bytes
.../images/ui-icons_72a7cf_256x240.png | Bin 0 -> 4369 bytes
.../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes
.../auto/fullcalendar/css/cupertino/theme.css | 331 +
.../auto/fullcalendar/css/fullcalendar.css | 618 +
.../fullcalendar/css/fullcalendar.print.css | 61 +
.../fullcalendar/css/jquery-ui-timepicker.css | 39 +
.../auto/fullcalendar/css/jquery-ui.css | 406 +
.../auto/fullcalendar/css_fullcalendar.html | 6 +
.../fullcalendar/exec/fullcalendar_add.php | 234 +
.../fullcalendar/exec/fullcalendar_css.php | 243 +
.../fullcalendar/exec/fullcalendar_edit.php | 900 ++
.../fullcalendar/fonds/cfg_fullcalendar.html | 11 +
.../formulaires/config_fullcalendar.html | 304 +
.../fullcalendar/fullcalendar_pipelines.php | 102 +
www/plugins/auto/fullcalendar/index.html | 99 +
.../auto/fullcalendar/js/fullcalendar.js | 5211 +++++++
www/plugins/auto/fullcalendar/js/gcal.js | 112 +
.../fullcalendar/js/jquery.ui.timepicker.js | 929 ++
.../fullcalendar/lang/fullcalendar_fr.php | 148 +
www/plugins/auto/fullcalendar/license.txt | 621 +
.../fullcalendar/modeles/fullcalendar.html | 256 +
.../modeles/fullcalendar_ajout.html | 67 +
.../modeles/minifullcalendar.html | 297 +
.../noisettes/agenda/inc_mini_agenda_1.html | 12 +
.../agenda/inc_mini_agenda_fullcalendar.html | 66 +
www/plugins/auto/fullcalendar/plugin.xml | 60 +
.../prive/contenu/fullcalendar_articles.html | 1 +
.../prive/contenu/fullcalendar_rubriques.html | 1 +
.../prive/themes/spip/images/calendar.png | Bin 0 -> 1709 bytes
.../themes/spip/images/calendar_edit.png | Bin 0 -> 1706 bytes
.../themes/spip/images/calendar_remove.png | Bin 0 -> 1700 bytes
.../prive/themes/spip/images/css_edit.png | Bin 0 -> 1676 bytes
.../prive/themes/spip/images/css_remove.png | Bin 0 -> 1694 bytes
.../prive/themes/spip/images/edit_css.png | Bin 0 -> 1400 bytes
.../prive/themes/spip/images/event_edit.png | Bin 0 -> 1749 bytes
.../prive/themes/spip/images/event_remove.png | Bin 0 -> 1726 bytes
.../themes/spip/images/fullcalendar-16.png | Bin 0 -> 708 bytes
.../themes/spip/images/fullcalendar-24.png | Bin 0 -> 995 bytes
.../themes/spip/images/fullcalendar-32.png | Bin 0 -> 1507 bytes
.../themes/spip/images/fullcalendar-48.png | Bin 0 -> 2839 bytes
.../prive/themes/spip/images/fullcalendar.jpg | Bin 0 -> 6381 bytes
.../prive/themes/spip/images/google-24.png | Bin 0 -> 1664 bytes
.../prive/themes/spip/images/mysql-24.png | Bin 0 -> 954 bytes
.../prive/themes/spip/images/ok.png | Bin 0 -> 1426 bytes
www/plugins/auto/fullcalendar/svn.revision | 10 +
.../auto/ieconfig/exec/ieconfig_export.php | 33 +
.../auto/ieconfig/exec/ieconfig_import.php | 35 +
.../ieconfig/formulaires/ieconfig_export.html | 11 +
.../ieconfig/formulaires/ieconfig_export.php | 320 +
.../ieconfig/formulaires/ieconfig_import.html | 18 +
.../ieconfig/formulaires/ieconfig_import.php | 343 +
.../auto/ieconfig/ieconfig_autoriser.php | 19 +
.../ieconfig_mes_fichiers_a_sauver.php | 12 +
.../auto/ieconfig/ieconfig_options.php | 8 +
.../auto/ieconfig/img/ieconfig-128.png | Bin 0 -> 14288 bytes
www/plugins/auto/ieconfig/img/ieconfig-24.png | Bin 0 -> 1556 bytes
.../auto/ieconfig/img/ieconfig-24bis.png | Bin 0 -> 750 bytes
.../auto/ieconfig/img/ieconfig-256.png | Bin 0 -> 37106 bytes
www/plugins/auto/ieconfig/img/ieconfig-64.png | Bin 0 -> 5630 bytes
.../auto/ieconfig/img/ieconfig-export.png | Bin 0 -> 1368 bytes
.../auto/ieconfig/img/ieconfig-import.png | Bin 0 -> 1378 bytes
.../auto/ieconfig/lang/ieconfig_fr.php | 41 +
www/plugins/auto/ieconfig/plugin.xml | 47 +
.../prive/ieconfig/ieconfig_export.html | 9 +
.../prive/ieconfig/ieconfig_import.html | 11 +
.../prive/themes/spip/images/ieconfig-16.png | Bin 0 -> 930 bytes
www/plugins/auto/ieconfig/svn.revision | 10 +
.../auto/jquery_ui/fonds/cfg_jqueryui.html | 13 +
.../formulaires/config_jqueryui.html | 69 +
.../formulaires/config_jqueryui_20.html | 62 +
.../config_jqueryui_20_fonctions.php | 98 +
.../formulaires/config_jqueryui_fonctions.php | 128 +
.../formulaires/dateur/inc-dateur.html | 95 +
.../auto/jquery_ui/images/jqueryui-24.png | Bin 0 -> 1528 bytes
.../auto/jquery_ui/images/jqueryui.png | Bin 0 -> 6312 bytes
.../javascript/jquery-ui-1.8.16/AUTHORS.txt | 30 +
.../jquery-ui-1.8.16/GPL-LICENSE.txt | 278 +
.../jquery-ui-1.8.16/MIT-LICENSE.txt | 25 +
.../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes
.../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes
.../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes
.../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes
.../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes
.../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes
.../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes
.../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes
.../base/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes
.../base/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes
.../base/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes
.../base/images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes
.../base/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes
.../themes/base/jquery-ui.css | 566 +
.../themes/base/jquery.ui.accordion.css | 19 +
.../themes/base/jquery.ui.all.css | 11 +
.../themes/base/jquery.ui.autocomplete.css | 53 +
.../themes/base/jquery.ui.base.css | 21 +
.../themes/base/jquery.ui.button.css | 38 +
.../themes/base/jquery.ui.core.css | 41 +
.../themes/base/jquery.ui.datepicker.css | 68 +
.../themes/base/jquery.ui.dialog.css | 21 +
.../themes/base/jquery.ui.progressbar.css | 11 +
.../themes/base/jquery.ui.resizable.css | 20 +
.../themes/base/jquery.ui.selectable.css | 10 +
.../themes/base/jquery.ui.slider.css | 24 +
.../themes/base/jquery.ui.tabs.css | 18 +
.../themes/base/jquery.ui.theme.css | 247 +
.../ui/i18n/jquery-ui-i18n.js | 1379 ++
.../ui/i18n/jquery.ui.datepicker-af.js | 23 +
.../ui/i18n/jquery.ui.datepicker-ar-DZ.js | 23 +
.../ui/i18n/jquery.ui.datepicker-ar.js | 23 +
.../ui/i18n/jquery.ui.datepicker-az.js | 23 +
.../ui/i18n/jquery.ui.datepicker-bg.js | 24 +
.../ui/i18n/jquery.ui.datepicker-bs.js | 23 +
.../ui/i18n/jquery.ui.datepicker-ca.js | 23 +
.../ui/i18n/jquery.ui.datepicker-cs.js | 23 +
.../ui/i18n/jquery.ui.datepicker-da.js | 23 +
.../ui/i18n/jquery.ui.datepicker-de.js | 23 +
.../ui/i18n/jquery.ui.datepicker-el.js | 23 +
.../ui/i18n/jquery.ui.datepicker-en-AU.js | 23 +
.../ui/i18n/jquery.ui.datepicker-en-GB.js | 23 +
.../ui/i18n/jquery.ui.datepicker-en-NZ.js | 23 +
.../ui/i18n/jquery.ui.datepicker-eo.js | 23 +
.../ui/i18n/jquery.ui.datepicker-es.js | 23 +
.../ui/i18n/jquery.ui.datepicker-et.js | 23 +
.../ui/i18n/jquery.ui.datepicker-eu.js | 23 +
.../ui/i18n/jquery.ui.datepicker-fa.js | 23 +
.../ui/i18n/jquery.ui.datepicker-fi.js | 23 +
.../ui/i18n/jquery.ui.datepicker-fo.js | 23 +
.../ui/i18n/jquery.ui.datepicker-fr-CH.js | 23 +
.../ui/i18n/jquery.ui.datepicker-fr.js | 25 +
.../ui/i18n/jquery.ui.datepicker-gl.js | 23 +
.../ui/i18n/jquery.ui.datepicker-he.js | 23 +
.../ui/i18n/jquery.ui.datepicker-hr.js | 23 +
.../ui/i18n/jquery.ui.datepicker-hu.js | 23 +
.../ui/i18n/jquery.ui.datepicker-hy.js | 23 +
.../ui/i18n/jquery.ui.datepicker-id.js | 23 +
.../ui/i18n/jquery.ui.datepicker-is.js | 23 +
.../ui/i18n/jquery.ui.datepicker-it.js | 23 +
.../ui/i18n/jquery.ui.datepicker-ja.js | 23 +
.../ui/i18n/jquery.ui.datepicker-ko.js | 23 +
.../ui/i18n/jquery.ui.datepicker-kz.js | 23 +
.../ui/i18n/jquery.ui.datepicker-lt.js | 23 +
.../ui/i18n/jquery.ui.datepicker-lv.js | 23 +
.../ui/i18n/jquery.ui.datepicker-ml.js | 23 +
.../ui/i18n/jquery.ui.datepicker-ms.js | 23 +
.../ui/i18n/jquery.ui.datepicker-nl.js | 23 +
.../ui/i18n/jquery.ui.datepicker-no.js | 23 +
.../ui/i18n/jquery.ui.datepicker-pl.js | 23 +
.../ui/i18n/jquery.ui.datepicker-pt-BR.js | 23 +
.../ui/i18n/jquery.ui.datepicker-pt.js | 22 +
.../ui/i18n/jquery.ui.datepicker-rm.js | 21 +
.../ui/i18n/jquery.ui.datepicker-ro.js | 26 +
.../ui/i18n/jquery.ui.datepicker-ru.js | 23 +
.../ui/i18n/jquery.ui.datepicker-sk.js | 23 +
.../ui/i18n/jquery.ui.datepicker-sl.js | 24 +
.../ui/i18n/jquery.ui.datepicker-sq.js | 23 +
.../ui/i18n/jquery.ui.datepicker-sr-SR.js | 23 +
.../ui/i18n/jquery.ui.datepicker-sr.js | 23 +
.../ui/i18n/jquery.ui.datepicker-sv.js | 23 +
.../ui/i18n/jquery.ui.datepicker-ta.js | 23 +
.../ui/i18n/jquery.ui.datepicker-th.js | 23 +
.../ui/i18n/jquery.ui.datepicker-tj.js | 23 +
.../ui/i18n/jquery.ui.datepicker-tr.js | 23 +
.../ui/i18n/jquery.ui.datepicker-uk.js | 23 +
.../ui/i18n/jquery.ui.datepicker-vi.js | 23 +
.../ui/i18n/jquery.ui.datepicker-zh-CN.js | 23 +
.../ui/i18n/jquery.ui.datepicker-zh-HK.js | 23 +
.../ui/i18n/jquery.ui.datepicker-zh-TW.js | 23 +
.../jquery-ui-1.8.16/ui/jquery-ui.js | 11767 ++++++++++++++++
.../ui/jquery.effects.blind.js | 49 +
.../ui/jquery.effects.bounce.js | 78 +
.../ui/jquery.effects.clip.js | 54 +
.../ui/jquery.effects.core.js | 763 +
.../ui/jquery.effects.drop.js | 50 +
.../ui/jquery.effects.explode.js | 79 +
.../ui/jquery.effects.fade.js | 32 +
.../ui/jquery.effects.fold.js | 56 +
.../ui/jquery.effects.highlight.js | 50 +
.../ui/jquery.effects.pulsate.js | 51 +
.../ui/jquery.effects.scale.js | 178 +
.../ui/jquery.effects.shake.js | 57 +
.../ui/jquery.effects.slide.js | 50 +
.../ui/jquery.effects.transfer.js | 45 +
.../ui/jquery.ui.accordion.js | 611 +
.../ui/jquery.ui.autocomplete.js | 612 +
.../jquery-ui-1.8.16/ui/jquery.ui.button.js | 416 +
.../jquery-ui-1.8.16/ui/jquery.ui.core.js | 314 +
.../ui/jquery.ui.datepicker.js | 1823 +++
.../jquery-ui-1.8.16/ui/jquery.ui.dialog.js | 878 ++
.../ui/jquery.ui.draggable.js | 825 ++
.../ui/jquery.ui.droppable.js | 296 +
.../jquery-ui-1.8.16/ui/jquery.ui.mouse.js | 162 +
.../jquery-ui-1.8.16/ui/jquery.ui.position.js | 252 +
.../ui/jquery.ui.progressbar.js | 109 +
.../ui/jquery.ui.resizable.js | 842 ++
.../ui/jquery.ui.selectable.js | 266 +
.../jquery-ui-1.8.16/ui/jquery.ui.slider.js | 666 +
.../jquery-ui-1.8.16/ui/jquery.ui.sortable.js | 1077 ++
.../jquery-ui-1.8.16/ui/jquery.ui.tabs.js | 758 +
.../jquery-ui-1.8.16/ui/jquery.ui.widget.js | 268 +
.../javascript/jquery-ui-1.8.16/version.txt | 1 +
.../auto/jquery_ui/jqueryui_options.php | 28 +
.../auto/jquery_ui/jqueryui_options_20.php | 28 +
.../auto/jquery_ui/jqueryui_pipelines.php | 176 +
.../auto/jquery_ui/jqueryui_pipelines_20.php | 136 +
www/plugins/auto/jquery_ui/lang/jqueryui.xml | 6 +
.../auto/jquery_ui/lang/jqueryui_en.php | 68 +
.../auto/jquery_ui/lang/jqueryui_fr.php | 66 +
www/plugins/auto/jquery_ui/plugin.xml | 87 +
www/plugins/auto/jquery_ui/svn.revision | 10 +
.../supprimer_composition_noizetier.php | 25 +
.../action/supprimer_noisettes_page.php | 16 +
.../balise/noizetier_afficher_noisette.php | 48 +
.../balise/noizetier_liste_icones.php | 13 +
.../balise/noizetier_liste_noisettes.php | 13 +
.../balise/noizetier_liste_pages.php | 13 +
.../noiZetier/base/noizetier_installation.php | 72 +
.../auto/noiZetier/base/noizetier_tables.php | 38 +
.../formulaires/configurer_bloc.html | 42 +
.../noiZetier/formulaires/configurer_bloc.php | 353 +
...diter_composition_heritages_noizetier.html | 43 +
...editer_composition_heritages_noizetier.php | 68 +
.../editer_composition_noizetier.html | 102 +
.../editer_composition_noizetier.php | 140 +
.../formulaires/inc-configurer-noisettes.html | 104 +
.../formulaires/inc-nouvelle_noisette-1.html | 46 +
.../formulaires/inc-nouvelle_noisette-2.html | 31 +
.../auto/noiZetier/icones_preview.html | 22 +
.../auto/noiZetier/img/compositions-24.png | Bin 0 -> 840 bytes
www/plugins/auto/noiZetier/img/export.png | Bin 0 -> 1707 bytes
.../auto/noiZetier/img/ic_bloc_contenu.png | Bin 0 -> 640 bytes
.../auto/noiZetier/img/ic_bloc_extra.png | Bin 0 -> 3660 bytes
.../auto/noiZetier/img/ic_bloc_navigation.png | Bin 0 -> 703 bytes
.../auto/noiZetier/img/ic_bloctexte.png | Bin 0 -> 3660 bytes
www/plugins/auto/noiZetier/img/ic_page.png | Bin 0 -> 2978 bytes
www/plugins/auto/noiZetier/img/import.png | Bin 0 -> 1244 bytes
.../auto/noiZetier/img/noizetier-128.png | Bin 0 -> 2628 bytes
.../auto/noiZetier/img/noizetier-24.png | Bin 0 -> 1636 bytes
.../auto/noiZetier/img/noizetier-48.png | Bin 0 -> 2521 bytes
.../auto/noiZetier/img/noizetier-64.png | Bin 0 -> 3190 bytes
.../img/noizetier_action_ajouter.png | Bin 0 -> 629 bytes
.../noiZetier/img/noizetier_action_bas.png | Bin 0 -> 942 bytes
.../noiZetier/img/noizetier_action_haut.png | Bin 0 -> 883 bytes
.../img/noizetier_action_modifier.png | Bin 0 -> 1082 bytes
.../img/noizetier_action_supprimer.png | Bin 0 -> 360 bytes
www/plugins/auto/noiZetier/inc/noizetier.php | 762 +
.../auto/noiZetier/javascript/noizetier.js | 31 +
www/plugins/auto/noiZetier/lang/noizetier.xml | 4 +
.../auto/noiZetier/lang/noizetier_de.php | 118 +
.../auto/noiZetier/lang/noizetier_fr.php | 116 +
.../auto/noiZetier/noisettes/bloctexte.html | 6 +
.../auto/noiZetier/noisettes/bloctexte.yaml | 29 +
.../noiZetier/noizetier-generer-bloc.html | 3 +
www/plugins/auto/noiZetier/noizetier.css.html | 194 +
.../auto/noiZetier/noizetier_autoriser.php | 22 +
.../auto/noiZetier/noizetier_ieconfig.php | 171 +
.../auto/noiZetier/noizetier_pipelines.php | 129 +
www/plugins/auto/noiZetier/plugin.xml | 88 +
.../noiZetier/prive/exec/configurer_page.html | 33 +
.../auto/noiZetier/prive/exec/noizetier.html | 56 +
.../exec/noizetier_composition_editer.html | 38 +
.../exec/noizetier_composition_heritages.html | 31 +
.../prive/exec/noizetier_compositions.html | 52 +
.../prive/themes/spip/images/noizetier-16.png | Bin 0 -> 1018 bytes
www/plugins/auto/noiZetier/svn.revision | 10 +
.../auto/saisies/action/deplacer_saisie.php | 38 +
www/plugins/auto/saisies/aide/saisies.html | 5 +
.../auto/saisies/balise/configurer_saisie.php | 28 +
.../auto/saisies/balise/generer_saisies.php | 28 +
www/plugins/auto/saisies/balise/saisie.php | 180 +
.../auto/saisies/balise/voir_saisie.php | 39 +
.../auto/saisies/balise/voir_saisies.php | 30 +
.../saisies/contenu/page-saisies_cvt.html | 4 +
.../saisies/css/formulaires_constructeur.css | 179 +
www/plugins/auto/saisies/extra-vues/pays.html | 8 +
.../formulaires/construire_formulaire.html | 228 +
.../formulaires/construire_formulaire.php | 487 +
.../inc-construire_formulaire-actions.html | 25 +
.../inc-generer_saisies_configurables.html | 9 +
.../saisies/formulaires/inc-saisies-cvt.html | 24 +
.../auto/saisies/formulaires/saisies_cvt.html | 0
.../auto/saisies/formulaires/saisies_cvt.php | 41 +
.../saisies/images/formulaire-annuler-16.png | Bin 0 -> 714 bytes
.../images/formulaire-configurer-16.png | Bin 0 -> 843 bytes
.../saisies/images/formulaire-deplacer-16.png | Bin 0 -> 575 bytes
.../images/formulaire-dupliquer-16.png | Bin 0 -> 1080 bytes
.../images/formulaire-enregistrer-16.png | Bin 0 -> 743 bytes
.../images/formulaire-reinitialiser-24.png | Bin 0 -> 1503 bytes
.../images/formulaire-saisie-defaut.png | Bin 0 -> 511 bytes
.../images/formulaire-supprimer-16.png | Bin 0 -> 319 bytes
.../auto/saisies/images/logo_saisie_48.png | Bin 0 -> 1220 bytes
.../auto/saisies/images/saisies_auteurs.png | Bin 0 -> 742 bytes
.../auto/saisies/images/saisies_case.png | Bin 0 -> 360 bytes
.../auto/saisies/images/saisies_checkbox.png | Bin 0 -> 463 bytes
.../auto/saisies/images/saisies_date.png | Bin 0 -> 1476 bytes
.../saisies/images/saisies_explication.png | Bin 0 -> 390 bytes
.../auto/saisies/images/saisies_fieldset.png | Bin 0 -> 233 bytes
.../auto/saisies/images/saisies_hidden.png | Bin 0 -> 429 bytes
.../auto/saisies/images/saisies_input.png | Bin 0 -> 609 bytes
.../auto/saisies/images/saisies_oui_non.png | Bin 0 -> 422 bytes
.../auto/saisies/images/saisies_radio.png | Bin 0 -> 560 bytes
.../images/saisies_selecteur_article.png | Bin 0 -> 256 bytes
.../images/saisies_selecteur_rubrique.png | Bin 0 -> 254 bytes
.../saisies_selecteur_rubrique_article.png | Bin 0 -> 292 bytes
.../auto/saisies/images/saisies_selection.png | Bin 0 -> 456 bytes
.../images/saisies_selection_multiple.png | Bin 0 -> 501 bytes
.../auto/saisies/images/saisies_textarea.png | Bin 0 -> 417 bytes
www/plugins/auto/saisies/inc/saisies.php | 379 +
.../auto/saisies/inc/saisies_afficher.php | 339 +
.../auto/saisies/inc/saisies_lister.php | 316 +
.../auto/saisies/inc/saisies_manipuler.php | 266 +
.../saisies/inclure/configurer_saisie.html | 19 +
.../inclure/configurer_saisie_fonctions.php | 38 +
.../auto/saisies/inclure/generer_saisies.html | 46 +
.../auto/saisies/inclure/js_afficher_si.html | 7 +
.../auto/saisies/inclure/saisies_aide.html | 65 +
.../auto/saisies/inclure/voir_saisies.html | 7 +
.../auto/saisies/javascript/saisies.js | 31 +
.../auto/saisies/lang/paquet-saisies.xml | 4 +
.../auto/saisies/lang/paquet-saisies_en.php | 19 +
.../auto/saisies/lang/paquet-saisies_fr.php | 17 +
www/plugins/auto/saisies/lang/saisies.xml | 20 +
www/plugins/auto/saisies/lang/saisies_ca.php | 172 +
www/plugins/auto/saisies/lang/saisies_de.php | 172 +
www/plugins/auto/saisies/lang/saisies_en.php | 172 +
www/plugins/auto/saisies/lang/saisies_es.php | 172 +
www/plugins/auto/saisies/lang/saisies_fa.php | 172 +
www/plugins/auto/saisies/lang/saisies_fr.php | 170 +
.../auto/saisies/lang/saisies_fr_tu.php | 172 +
www/plugins/auto/saisies/lang/saisies_sk.php | 172 +
www/plugins/auto/saisies/paquet.xml | 28 +
www/plugins/auto/saisies/plugin.xml | 64 +
.../prive/exec/configurer_saisies.html | 3 +
.../listes/articles_originaux_recursifs.html | 14 +
.../prive/listes/rubriques_recursives.html | 9 +
.../auto/saisies/saisies-vues/_base.html | 43 +
.../auto/saisies/saisies-vues/auteurs.html | 20 +
.../auto/saisies/saisies-vues/case.html | 1 +
.../auto/saisies/saisies-vues/checkbox.html | 13 +
.../auto/saisies/saisies-vues/date.html | 6 +
.../saisies/saisies-vues/destinataires.html | 9 +
.../saisies/saisies-vues/explication.html | 0
.../auto/saisies/saisies-vues/fieldset.html | 5 +
.../saisies/saisies-vues/groupe_mots.html | 9 +
.../auto/saisies/saisies-vues/oui_non.html | 1 +
.../auto/saisies/saisies-vues/radio.html | 4 +
.../auto/saisies/saisies-vues/secteur.html | 12 +
.../saisies-vues/selecteur_article.html | 27 +
.../selecteur_article_fonctions.php | 5 +
.../saisies-vues/selecteur_document.html | 5 +
.../saisies-vues/selecteur_rubrique.html | 28 +
.../selecteur_rubrique_article.html | 49 +
.../saisies/saisies-vues/selecteur_site.html | 17 +
.../auto/saisies/saisies-vues/selection.html | 4 +
.../saisies-vues/selection_multiple.html | 12 +
www/plugins/auto/saisies/saisies.css.html | 45 +
www/plugins/auto/saisies/saisies/_base.html | 53 +
.../saisies/saisies/articles_originaux.html | 51 +
www/plugins/auto/saisies/saisies/auteurs.html | 42 +
www/plugins/auto/saisies/saisies/auteurs.yaml | 116 +
www/plugins/auto/saisies/saisies/case.html | 20 +
www/plugins/auto/saisies/saisies/case.yaml | 96 +
.../auto/saisies/saisies/checkbox.html | 45 +
.../auto/saisies/saisies/checkbox.yaml | 103 +
.../auto/saisies/saisies/choisir_objets.html | 21 +
www/plugins/auto/saisies/saisies/couleur.html | 12 +
www/plugins/auto/saisies/saisies/date.html | 17 +
www/plugins/auto/saisies/saisies/date.yaml | 99 +
.../saisies/saisies/date_jour_mois_annee.html | 66 +
.../auto/saisies/saisies/destinataires.html | 63 +
.../auto/saisies/saisies/destinataires.yaml | 77 +
www/plugins/auto/saisies/saisies/email.html | 10 +
.../auto/saisies/saisies/explication.html | 5 +
.../auto/saisies/saisies/explication.yaml | 37 +
.../auto/saisies/saisies/fieldset.html | 24 +
.../auto/saisies/saisies/fieldset.yaml | 55 +
.../auto/saisies/saisies/groupe_mots.html | 30 +
www/plugins/auto/saisies/saisies/hidden.html | 12 +
www/plugins/auto/saisies/saisies/hidden.yaml | 29 +
www/plugins/auto/saisies/saisies/input.html | 46 +
www/plugins/auto/saisies/saisies/input.yaml | 138 +
www/plugins/auto/saisies/saisies/mot.html | 23 +
www/plugins/auto/saisies/saisies/oui_non.html | 23 +
www/plugins/auto/saisies/saisies/oui_non.yaml | 89 +
www/plugins/auto/saisies/saisies/pays.html | 21 +
www/plugins/auto/saisies/saisies/police.html | 22 +
.../position_construire_formulaire.html | 46 +
www/plugins/auto/saisies/saisies/radio.html | 29 +
www/plugins/auto/saisies/saisies/radio.yaml | 102 +
.../auto/saisies/saisies/recherche.html | 10 +
www/plugins/auto/saisies/saisies/secteur.html | 30 +
.../auto/saisies/saisies/selecteur.html | 16 +
.../saisies/saisies/selecteur_article.html | 39 +
.../saisies/saisies/selecteur_article.yaml | 102 +
.../saisies/saisies/selecteur_document.html | 83 +
.../saisies/saisies/selecteur_langue.html | 14 +
.../saisies/saisies/selecteur_rubrique.html | 39 +
.../saisies/saisies/selecteur_rubrique.yaml | 102 +
.../saisies/selecteur_rubrique_article.html | 45 +
.../saisies/selecteur_rubrique_article.yaml | 108 +
.../auto/saisies/saisies/selecteur_site.html | 33 +
.../auto/saisies/saisies/selection.html | 33 +
.../auto/saisies/saisies/selection.yaml | 117 +
.../saisies/saisies/selection_multiple.html | 36 +
.../saisies/saisies/selection_multiple.yaml | 119 +
.../saisies/saisies/selection_par_groupe.html | 35 +
.../auto/saisies/saisies/statuts_auteurs.html | 43 +
.../auto/saisies/saisies/telephone.html | 12 +
.../auto/saisies/saisies/textarea.html | 21 +
.../auto/saisies/saisies/textarea.yaml | 134 +
.../auto/saisies/saisies/true_false.html | 23 +
www/plugins/auto/saisies/saisies/url.html | 12 +
.../auto/saisies/saisies_fonctions.php | 9 +
www/plugins/auto/saisies/saisies_options.php | 45 +
.../auto/saisies/saisies_pipelines.php | 88 +
www/plugins/auto/saisies/svn.revision | 10 +
.../auto/saisies/test/configurer_saisie.html | 51 +
.../auto/saisies/test/generer_saisies.html | 152 +
www/plugins/auto/saisies/test/saisie.html | 11 +
.../auto/saisies/test/voir_saisie.html | 10 +
.../auto/saisies/test/voir_saisies.html | 147 +
.../auto/spip-bonux/ajax_item_pick.html | 8 +
.../auto/spip-bonux/configurer/pipelines.php | 314 +
.../auto/spip-bonux/connect/condition.php | 12 +
www/plugins/auto/spip-bonux/connect/pour.php | 12 +
.../auto/spip-bonux/demo/boucle_et_saut.html | 15 +
.../spip-bonux/demo/boucles_iterations.html | 37 +
.../auto/spip-bonux/demo/boucles_si.html | 30 +
.../spip-bonux/demo/boucles_tableaux.html | 119 +
www/plugins/auto/spip-bonux/demo/noeud.html | 16 +
.../formulaires/dateur/datePicker.css | 34 +
.../spip-bonux/formulaires/dateur/dates.js | 467 +
.../formulaires/dateur/inc-dateur.html | 34 +
.../formulaires/dateur/jquery.datePicker.js | 1061 ++
.../formulaires/dateur/jquery.timePicker.js | 209 +
.../formulaires/dateur/picker-16.gif | Bin 0 -> 89 bytes
.../formulaires/dateur/timePicker.css | 26 +
.../formulaires/recherche_ecrire.html | 10 +
.../formulaires/recherche_ecrire.php | 31 +
.../formulaires/selecteur/articles.html | 17 +
.../selecteur/inc-nav-articles.html | 9 +
.../selecteur/inc-nav-rubriques.html | 9 +
.../selecteur/inc-sel-articles.html | 3 +
.../selecteur/inc-sel-rubriques.html | 8 +
.../selecteur/jquery-ui-1.6.custom.js | 2255 +++
.../selecteur/jquery-ui-1.8.5.custom.js | 110 +
.../formulaires/selecteur/jquery.picker.js | 84 +
.../formulaires/selecteur/navigateur.html | 28 +
.../formulaires/selecteur/picker-ajax.html | 35 +
.../formulaires/selecteur/picker.css | 13 +
.../formulaires/selecteur/rubriques.html | 27 +
.../spip-bonux/img_pack/annuler-recherche.png | Bin 0 -> 713 bytes
.../auto/spip-bonux/img_pack/article-12.png | Bin 0 -> 619 bytes
.../spip-bonux/img_pack/deplier-droite.gif | Bin 0 -> 319 bytes
.../spip-bonux/img_pack/deplier-droite.png | Bin 0 -> 480 bytes
.../auto/spip-bonux/img_pack/frame-close.png | Bin 0 -> 443 bytes
.../auto/spip-bonux/img_pack/item-add.gif | Bin 0 -> 571 bytes
.../auto/spip-bonux/img_pack/item-add.png | Bin 0 -> 654 bytes
.../auto/spip-bonux/img_pack/item-remove.png | Bin 0 -> 456 bytes
.../auto/spip-bonux/img_pack/logo-bonux.gif | Bin 0 -> 5902 bytes
.../spip-bonux/img_pack/message_erreur-24.png | Bin 0 -> 1400 bytes
.../spip-bonux/img_pack/message_notice-24.png | Bin 0 -> 1108 bytes
.../spip-bonux/img_pack/message_ok-24.png | Bin 0 -> 1126 bytes
.../auto/spip-bonux/img_pack/spip-bonux.png | Bin 0 -> 39439 bytes
.../auto/spip-bonux/img_pack/tri_asc-12.png | Bin 0 -> 476 bytes
.../auto/spip-bonux/img_pack/tri_asc-16.png | Bin 0 -> 628 bytes
.../auto/spip-bonux/img_pack/tri_asc-24.png | Bin 0 -> 786 bytes
.../auto/spip-bonux/img_pack/tri_asc.png | Bin 0 -> 477 bytes
.../auto/spip-bonux/img_pack/tri_desc-12.png | Bin 0 -> 462 bytes
.../auto/spip-bonux/img_pack/tri_desc-16.png | Bin 0 -> 615 bytes
.../auto/spip-bonux/img_pack/tri_desc-24.png | Bin 0 -> 772 bytes
www/plugins/auto/spip-bonux/inc/config.php | 20 +
.../auto/spip-bonux/inc/core21_filtres.php | 198 +
.../auto/spip-bonux/inc/date_gestion.php | 43 +
.../auto/spip-bonux/inc/exporter_csv.php | 98 +
.../auto/spip-bonux/inc/importer_csv.php | 94 +
.../javascript/jquery.qtip-1.0.0-rc3.js | 2040 +++
.../javascript/jquery.qtip.activate.js | 68 +
.../auto/spip-bonux/lang/spip_bonux_ar.php | 29 +
.../auto/spip-bonux/lang/spip_bonux_en.php | 29 +
.../auto/spip-bonux/lang/spip_bonux_fr.php | 29 +
.../auto/spip-bonux/lang/spip_bonux_it.php | 29 +
.../auto/spip-bonux/modeles/pagination.html | 15 +
.../modeles/pagination_noancre.html | 16 +
.../spip-bonux/modeles/pagination_page.html | 16 +
.../spip-bonux/modeles/pagination_prive.html | 17 +
www/plugins/auto/spip-bonux/plugin.xml | 55 +
.../prive/style_prive_plugin_bonux.html | 80 +
.../style_prive_plugin_bonux_recherche.html | 23 +
.../prive/themes/spip/style_prive_bling.html | 5 +
.../spip-bonux/public/spip_bonux_balises.php | 631 +
.../spip-bonux/public/spip_bonux_criteres.php | 261 +
www/plugins/auto/spip-bonux/req/array.php | 547 +
.../auto/spip-bonux/spip20/inc/couleurs.php | 136 +
.../auto/spip-bonux/spip20/style_prive.html | 957 ++
.../spip20/style_prive_formulaires.html | 395 +
.../auto/spip-bonux/spip21/inc/couleurs.php | 70 +
.../auto/spip-bonux/spip21/style_prive.html | 965 ++
.../spip21/style_prive_formulaires.html | 395 +
.../auto/spip-bonux/spip_bonux_fonctions.php | 295 +
.../auto/spip-bonux/spip_bonux_options.php | 117 +
.../auto/spip-bonux/style_prive_plugins.html | 122 +
.../style_prive_plugins_fonctions.php | 12 +
www/plugins/auto/spip-bonux/svn.revision | 10 +
.../spip-bonux/tests/balises/set_merge.html | 60 +
.../spip-bonux/tests/balises/set_push.html | 25 +
.../auto/thickbox2/circle_animation.gif | Bin 0 -> 6903 bytes
www/plugins/auto/thickbox2/close.gif | Bin 0 -> 222 bytes
www/plugins/auto/thickbox2/head.php | 118 +
.../auto/thickbox2/javascript/thickbox.js | 484 +
.../auto/thickbox2/loadingAnimation.gif | Bin 0 -> 7347 bytes
www/plugins/auto/thickbox2/next.gif | Bin 0 -> 305 bytes
www/plugins/auto/thickbox2/plugin.xml | 39 +
www/plugins/auto/thickbox2/prev.gif | Bin 0 -> 307 bytes
www/plugins/auto/thickbox2/svn.revision | 10 +
www/plugins/auto/thickbox2/thickbox.css | 151 +
www/plugins/auto/thickbox2/thickbox.png | Bin 0 -> 2942 bytes
www/plugins/auto/thickbox2/thickbox_test.html | 16 +
.../dereferencer_traduction_rubrique.php | 38 +
.../action/referencer_traduction_rubrique.php | 31 +
www/plugins/auto/tradrub/base/tradrub.php | 22 +
.../auto/tradrub/base/tradrub_install.php | 53 +
.../formulaires/definir_traduction.html | 36 +
.../formulaires/definir_traduction.php | 85 +
www/plugins/auto/tradrub/images/credits.txt | 4 +
.../auto/tradrub/images/tradrub-128.png | Bin 0 -> 18343 bytes
.../auto/tradrub/images/tradrub-22.png | Bin 0 -> 1339 bytes
.../auto/tradrub/images/tradrub-48.png | Bin 0 -> 4883 bytes
.../tradrub/images/traductions-delete-24.gif | Bin 0 -> 581 bytes
.../auto/tradrub/inc/rubrique_select.php | 113 +
www/plugins/auto/tradrub/lang/tradrub_en.php | 18 +
www/plugins/auto/tradrub/lang/tradrub_fr.php | 19 +
.../tradrub/modeles/rubrique_traductions.html | 18 +
www/plugins/auto/tradrub/plugin.xml | 37 +
.../prive/liste/traductions_rubrique.html | 51 +
.../prive/style_prive_plugin_tradrub.html | 31 +
.../auto/tradrub/prive/traduire/rubrique.html | 62 +
www/plugins/auto/tradrub/svn.revision | 10 +
.../auto/tradrub/tradrub_pipelines.php | 81 +
.../action/changer_langue.php | 26 +
.../css/images/ref.png | Bin 0 -> 239 bytes
.../css/taa_styles.css | 68 +
.../fonds/cfg_taa.html | 9 +
.../formulaires/configurer_taa.html | 40 +
.../img_pack/Translation-icon.png | Bin 0 -> 4332 bytes
.../img_pack/Translation-icon_24.png | Bin 0 -> 1542 bytes
.../img_pack/Translation-icon_32.png | Bin 0 -> 2539 bytes
.../inc/barre_langues.php | 98 +
.../lang/taa.xml | 29 +
.../lang/taa_ast.php | 43 +
.../lang/taa_ca.php | 43 +
.../lang/taa_de.php | 43 +
.../lang/taa_en.php | 43 +
.../lang/taa_es.php | 43 +
.../lang/taa_fa.php | 43 +
.../lang/taa_fr.php | 41 +
.../lang/taa_fr_tu.php | 43 +
.../lang/taa_pt_br.php | 43 +
.../lang/taa_sk.php | 43 +
.../traduction_articles_autrement/plugin.xml | 65 +
.../editer/barre_traductions_article.html | 15 +
.../prive/editer/colonne_documents_taa.html | 4 +
.../prive/liste/articles.html | 11 +
.../prive/liste/inc-articles.html | 36 +
.../prive/liste/inc-articles_compacte.html | 50 +
.../liste/inc-articles_compacte_sections.html | 35 +
.../prive/liste/inc-articles_row.html | 39 +
.../prive/liste/inc-articles_row_trads.html | 6 +
.../liste/inc-articles_trads_detail.html | 19 +
.../svn.revision | 10 +
.../taa_fonctions.php | 16 +
.../taa_pipelines.php | 52 +
www/plugins/auto/verifier/aide/verifier.html | 73 +
.../auto/verifier/aide/verifier_fonctions.php | 39 +
.../auto/verifier/images/icones-infos.txt | 2 +
.../auto/verifier/images/verifier-128.png | Bin 0 -> 9687 bytes
www/plugins/auto/verifier/inc/is_email.php | 426 +
www/plugins/auto/verifier/inc/normaliser.php | 32 +
www/plugins/auto/verifier/inc/verifier.php | 92 +
.../auto/verifier/lang/paquet-verifier_en.php | 18 +
.../auto/verifier/lang/paquet-verifier_fr.php | 19 +
www/plugins/auto/verifier/lang/verifier.xml | 29 +
.../auto/verifier/lang/verifier_ca.php | 94 +
.../auto/verifier/lang/verifier_de.php | 94 +
.../auto/verifier/lang/verifier_en.php | 94 +
.../auto/verifier/lang/verifier_es.php | 94 +
.../auto/verifier/lang/verifier_fa.php | 94 +
.../auto/verifier/lang/verifier_fr.php | 92 +
.../auto/verifier/lang/verifier_fr_tu.php | 94 +
.../auto/verifier/lang/verifier_it.php | 94 +
.../auto/verifier/lang/verifier_pt_br.php | 94 +
.../auto/verifier/lang/verifier_sk.php | 94 +
.../auto/verifier/normaliser/datepicker.php | 64 +
www/plugins/auto/verifier/paquet.xml | 23 +
www/plugins/auto/verifier/plugin.xml | 32 +
www/plugins/auto/verifier/svn.revision | 10 +
www/plugins/auto/verifier/test/verifier.html | 260 +
.../auto/verifier/verifier/code_postal.php | 33 +
.../verifier/verifier/comparaison_champ.php | 48 +
www/plugins/auto/verifier/verifier/date.php | 50 +
www/plugins/auto/verifier/verifier/date.yaml | 3 +
.../auto/verifier/verifier/decimal.php | 54 +
.../auto/verifier/verifier/decimal.yaml | 26 +
www/plugins/auto/verifier/verifier/email.php | 110 +
www/plugins/auto/verifier/verifier/email.yaml | 20 +
www/plugins/auto/verifier/verifier/entier.php | 49 +
.../auto/verifier/verifier/entier.yaml | 18 +
.../auto/verifier/verifier/id_document.php | 30 +
www/plugins/auto/verifier/verifier/regex.php | 29 +
www/plugins/auto/verifier/verifier/regex.yaml | 9 +
.../auto/verifier/verifier/siren_siret.php | 70 +
.../auto/verifier/verifier/siren_siret.yaml | 12 +
www/plugins/auto/verifier/verifier/taille.php | 46 +
.../auto/verifier/verifier/taille.yaml | 22 +
.../auto/verifier/verifier/telephone.php | 55 +
.../auto/verifier/verifier/telephone.yaml | 3 +
www/plugins/auto/verifier/verifier/url.php | 139 +
www/plugins/auto/verifier/verifier/url.yaml | 33 +
.../auto/verifier/verifier_pipelines.php | 7 +
.../auto/yaml/demo/iter_data_yaml.html | 17 +
www/plugins/auto/yaml/experimental/README | 9 +
www/plugins/auto/yaml/experimental/yaml.html | 5 +
.../auto/yaml/experimental/yaml_fonctions.php | 16 +
www/plugins/auto/yaml/inc/yaml.php | 109 +
www/plugins/auto/yaml/inc/yaml_sfyaml.php | 33 +
www/plugins/auto/yaml/inc/yaml_to_array.php | 15 +
www/plugins/auto/yaml/lang/paquet-yaml.xml | 9 +
www/plugins/auto/yaml/lang/paquet-yaml_en.php | 16 +
www/plugins/auto/yaml/lang/paquet-yaml_fr.php | 14 +
www/plugins/auto/yaml/lang/paquet-yaml_sk.php | 16 +
www/plugins/auto/yaml/paquet.xml | 19 +
www/plugins/auto/yaml/plugin.xml | 19 +
www/plugins/auto/yaml/sfyaml/sfYaml.php | 145 +
www/plugins/auto/yaml/sfyaml/sfYamlDumper.php | 60 +
www/plugins/auto/yaml/sfyaml/sfYamlInline.php | 424 +
www/plugins/auto/yaml/sfyaml/sfYamlParser.php | 540 +
www/plugins/auto/yaml/spyc/spyc-php4.php | 1024 ++
www/plugins/auto/yaml/spyc/spyc.php | 1034 ++
www/plugins/auto/yaml/svn.revision | 10 +
www/plugins/auto/yaml/yaml.png | Bin 0 -> 12232 bytes
www/plugins/auto/yaml/yaml_fonctions.php | 17 +
.../action/zengarden_activer_switcher.php | 23 +
.../action/zengarden_activer_theme.php | 46 +
.../auto/zen-garden/img_pack/themes-128.png | Bin 0 -> 33832 bytes
.../auto/zen-garden/img_pack/themes-24.png | Bin 0 -> 1656 bytes
.../auto/zen-garden/img_pack/themes-48.png | Bin 0 -> 5438 bytes
.../auto/zen-garden/img_pack/themes-64.png | Bin 0 -> 9150 bytes
www/plugins/auto/zen-garden/inc/zengarden.php | 51 +
.../zen-garden/inclure/zengarden_switcher.css | 3 +
.../inclure/zengarden_switcher.html | 15 +
.../zen-garden/inclure/zengarden_switcher.js | 8 +
.../auto/zen-garden/lang/zengarden_de.php | 47 +
.../auto/zen-garden/lang/zengarden_en.php | 46 +
.../auto/zen-garden/lang/zengarden_es.php | 45 +
.../auto/zen-garden/lang/zengarden_fr.php | 46 +
www/plugins/auto/zen-garden/plugin.xml | 80 +
.../auto/zen-garden/prive/exec/zengarden.html | 25 +
.../prive/style_prive_plugin_zengarden.html | 22 +
.../prive/themes/spip/images/themes-16.png | Bin 0 -> 936 bytes
.../zen-garden/prive/zengarden_theme.html | 49 +
.../prive/zengarden_theme_actif.html | 15 +
.../prive/zengarden_theme_fonctions.php | 22 +
.../zen-garden/spip20/plugins/get_infos.php | 132 +
.../spip20/plugins/verifie_conformite.php | 151 +
www/plugins/auto/zen-garden/svn.revision | 10 +
.../auto/zen-garden/zengarden_options.php | 72 +
www/plugins/menus/action/editer_menu.php | 144 +
.../menus/action/editer_menus_entree.php | 110 +
www/plugins/menus/action/exporter_menu.php | 72 +
www/plugins/menus/action/supprimer_menu.php | 19 +
.../menus/balise/menus_afficher_entree.php | 26 +
www/plugins/menus/base/menus_tables.php | 59 +
www/plugins/menus/css/menuspip.css | 58 +
.../menus/formulaires/editer_menu.html | 75 +
www/plugins/menus/formulaires/editer_menu.php | 122 +
.../formulaires/editer_menus_entree.html | 40 +
.../menus/formulaires/editer_menus_entree.php | 250 +
.../menus/formulaires/inc-menus_entrees.html | 83 +
.../inc-menus_entrees_inexistantes.html | 11 +
.../formulaires/inc-nouvelle_entree-1.html | 23 +
.../formulaires/inc-nouvelle_entree-2.html | 38 +
www/plugins/menus/images/export.png | Bin 0 -> 1707 bytes
www/plugins/menus/images/menus-16.png | Bin 0 -> 756 bytes
www/plugins/menus/images/menus-24.png | Bin 0 -> 1111 bytes
www/plugins/menus/images/menus-48.png | Bin 0 -> 2682 bytes
www/plugins/menus/images/menus-nouveau-24.png | Bin 0 -> 1128 bytes
www/plugins/menus/images/menus-nouveau-48.png | Bin 0 -> 2349 bytes
www/plugins/menus/images/menus_accueil.png | Bin 0 -> 1194 bytes
.../menus/images/menus_action_ajouter.png | Bin 0 -> 629 bytes
www/plugins/menus/images/menus_action_bas.png | Bin 0 -> 942 bytes
.../menus/images/menus_action_haut.png | Bin 0 -> 883 bytes
.../menus/images/menus_action_modifier.png | Bin 0 -> 1082 bytes
.../menus/images/menus_action_supprimer.png | Bin 0 -> 360 bytes
.../menus/images/menus_articles_rubrique.png | Bin 0 -> 922 bytes
.../menus/images/menus_groupes_mots.png | Bin 0 -> 1080 bytes
www/plugins/menus/images/menus_lien.png | Bin 0 -> 2746 bytes
www/plugins/menus/images/menus_logout.png | Bin 0 -> 878 bytes
www/plugins/menus/images/menus_mapage.png | Bin 0 -> 1314 bytes
www/plugins/menus/images/menus_mots.png | Bin 0 -> 3956 bytes
www/plugins/menus/images/menus_objet.png | Bin 0 -> 1396 bytes
.../menus/images/menus_page_speciale.png | Bin 0 -> 2081 bytes
www/plugins/menus/images/menus_rubriques.png | Bin 0 -> 1347 bytes
.../menus/images/menus_secteurlangue.png | Bin 0 -> 825 bytes
.../menus/images/menus_texte_libre.png | Bin 0 -> 1570 bytes
www/plugins/menus/inc/menus.php | 184 +
www/plugins/menus/inc/menus_autoriser.php | 19 +
www/plugins/menus/inclure/barre-nav.html | 7 +
www/plugins/menus/inclure/menu.html | 21 +
www/plugins/menus/inclure/nav.html | 7 +
www/plugins/menus/lang/menus.xml | 25 +
www/plugins/menus/lang/menus_ca.php | 171 +
www/plugins/menus/lang/menus_de.php | 171 +
www/plugins/menus/lang/menus_en.php | 171 +
www/plugins/menus/lang/menus_es.php | 171 +
www/plugins/menus/lang/menus_fr.php | 169 +
www/plugins/menus/lang/menus_it.php | 171 +
www/plugins/menus/lang/menus_ru.php | 171 +
www/plugins/menus/lang/menus_sk.php | 171 +
www/plugins/menus/lang/paquet-menus_de.php | 14 +
www/plugins/menus/lang/paquet-menus_en.php | 14 +
www/plugins/menus/lang/paquet-menus_fr.php | 20 +
www/plugins/menus/lang/paquet-menus_it.php | 14 +
www/plugins/menus/menu.html | 11 +
www/plugins/menus/menus/accueil.html | 13 +
www/plugins/menus/menus/accueil.xml | 8 +
.../menus/menus/articles_rubrique.html | 47 +
www/plugins/menus/menus/articles_rubrique.xml | 12 +
www/plugins/menus/menus/deconnecter.html | 15 +
www/plugins/menus/menus/deconnecter.xml | 8 +
www/plugins/menus/menus/espace_prive.html | 20 +
www/plugins/menus/menus/espace_prive.xml | 10 +
www/plugins/menus/menus/groupe_mots.html | 64 +
www/plugins/menus/menus/groupe_mots.xml | 11 +
www/plugins/menus/menus/lien.html | 10 +
www/plugins/menus/menus/lien.xml | 10 +
www/plugins/menus/menus/mapage.html | 15 +
www/plugins/menus/menus/mapage.xml | 8 +
www/plugins/menus/menus/mots.html | 47 +
www/plugins/menus/menus/mots.xml | 11 +
www/plugins/menus/menus/objet.html | 37 +
www/plugins/menus/menus/objet.xml | 12 +
www/plugins/menus/menus/page_speciale.html | 12 +
www/plugins/menus/menus/page_speciale.xml | 10 +
.../menus/menus/page_speciale_zajax.html | 12 +
.../menus/menus/page_speciale_zajax.xml | 13 +
www/plugins/menus/menus/rubriques.html | 217 +
www/plugins/menus/menus/rubriques.xml | 26 +
www/plugins/menus/menus/secteurlangue.html | 2 +
www/plugins/menus/menus/secteurlangue.xml | 21 +
www/plugins/menus/menus/texte_libre.html | 12 +
www/plugins/menus/menus/texte_libre.xml | 8 +
www/plugins/menus/menus_administrations.php | 54 +
www/plugins/menus/menus_fonctions.php | 25 +
www/plugins/menus/menus_ieconfig.php | 139 +
www/plugins/menus/menus_options.php | 9 +
www/plugins/menus/menus_pipelines.php | 31 +
www/plugins/menus/noisettes/menu.html | 6 +
www/plugins/menus/noisettes/menu.yaml | 16 +
www/plugins/menus/paquet.xml | 33 +
www/plugins/menus/plugin.xml | 84 +
.../menus/prive/exec/menus_editer.html | 56 +
www/plugins/menus/prive/exec/menus_tous.html | 20 +
.../squelettes/contenu/menus_editer.html | 25 +
.../prive/squelettes/contenu/menus_tous.html | 20 +
.../squelettes/navigation/menus_editer.html | 19 +
.../themes/spip/images/menu-exporter-24.png | Bin 0 -> 1707 bytes
.../prive/themes/spip/images/menus-16.png | Bin 0 -> 878 bytes
.../prive/themes/spip/images/menus-24.png | Bin 0 -> 1111 bytes
www/plugins/menus/saisies-vues/menu.html | 5 +
.../menus/saisies-vues/menus_multiple.html | 9 +
www/plugins/menus/saisies/menu.html | 20 +
www/plugins/menus/saisies/menus_multiple.html | 24 +
www/plugins/menus/svn.revision | 10 +
.../squelette_maparaan/contenu/article.html | 87 +
.../squelette_maparaan/contenu/auteur.html | 53 +
.../squelette_maparaan/contenu/breve.html | 36 +
.../squelette_maparaan/contenu/mot.html | 110 +
.../contenu/page-forum.html | 104 +
.../contenu/page-login.html | 17 +
.../squelette_maparaan/contenu/page-plan.html | 59 +
.../contenu/page-recherche.html | 51 +
.../contenu/page-sommaire.html | 164 +
.../contenu/page-spip_pass.html | 14 +
.../squelette_maparaan/contenu/rubrique.html | 65 +
.../squelette_maparaan/contenu/site.html | 53 +
.../css/_style_maparaan.css | 313 +
.../squelette_maparaan/css/slidernav.css | 10 +
.../squelette_maparaan/extra/article.html | 33 +
.../squelette_maparaan/extra/auteur.html | 23 +
.../squelette_maparaan/extra/breve.html | 33 +
www/plugins/squelette_maparaan/extra/mot.html | 40 +
.../extra/page-sommaire.html | 0
.../squelette_maparaan/extra/rubrique.html | 61 +
.../squelette_maparaan/extra/site.html | 34 +
.../formulaires/ecrire_auteur.html | 58 +
.../squelette_maparaan/formulaires/forum.html | 196 +
.../inc-forum_bloc_choix_mots.html | 9 +
.../formulaires/inc-login_forum.html | 39 +
.../formulaires/inscription.html | 55 +
.../formulaires/recherche.html | 8 +
.../formulaires/signature.html | 75 +
.../squelette_maparaan/formulaires/site.html | 48 +
.../img/bg-comment-odd-callout.png | Bin 0 -> 320 bytes
.../squelette_maparaan/img/bg-featsubs-b.gif | Bin 0 -> 363 bytes
.../squelette_maparaan/img/bg-featsubs-m.gif | Bin 0 -> 72 bytes
.../squelette_maparaan/img/bg-featsubs-t.gif | Bin 0 -> 586 bytes
.../squelette_maparaan/img/bg-lirelasuite.jpg | Bin 0 -> 306 bytes
.../img/bg-post-box-author.png | Bin 0 -> 1650 bytes
.../img/bg-post-box-comment-add.png | Bin 0 -> 1538 bytes
.../img/bg-post-box-comments.png | Bin 0 -> 1260 bytes
.../img/bg-post-box-related-posts.png | Bin 0 -> 1358 bytes
.../img/bg-post-box-spread-love.png | Bin 0 -> 2146 bytes
.../img/bg-post-box-trackbacks.png | Bin 0 -> 1211 bytes
.../img/bg-sidebar-title.png | Bin 0 -> 1060 bytes
.../img/bg-subscribed-list-item.png | Bin 0 -> 2177 bytes
.../img/bg-title-page-1.png | Bin 0 -> 2169 bytes
.../img/border-footer-list-menu-entree.gif | Bin 0 -> 51 bytes
.../img/border-footer-list.gif | Bin 0 -> 44 bytes
.../img/border-sidebar-list-item.gif | Bin 0 -> 44 bytes
.../img/bullet-footer-list-item.gif | Bin 0 -> 45 bytes
.../img/bullet-sidebar-list-item.gif | Bin 0 -> 46 bytes
.../img/slidernav-contact.png | Bin 0 -> 1400 bytes
.../img/slidernav-facebook.png | Bin 0 -> 768 bytes
.../squelette_maparaan/img/slidernav-rss.png | Bin 0 -> 1326 bytes
.../img/slidernav-twitter.png | Bin 0 -> 953 bytes
.../squelette_maparaan/img/thumbnail.jpg | Bin 0 -> 3818 bytes
.../inc-footer-content.html | 68 +
.../squelette_maparaan/inc-theme-head.html | 2 +
.../inclure/article-resume.html | 32 +
.../squelette_maparaan/inclure/documents.html | 44 +
.../squelette_maparaan/inclure/entete.html | 7 +
.../squelette_maparaan/inclure/forum.html | 107 +
.../squelette_maparaan/inclure/petition.html | 46 +
.../squelette_maparaan/inclure/pied.html | 13 +
.../squelette_maparaan/inclure/rubriques.html | 32 +
.../squelette_maparaan/js/jquery.s3slider.js | 118 +
.../modeles/article_traductions.html | 18 +
.../squelette_maparaan/navigation/dist.html | 2 +
www/plugins/squelette_maparaan/plugin.xml | 27 +
.../squelette_maparaan_pipelines.php | 13 +
www/plugins/squelette_maparaan/svn.revision | 10 +
www/plugins/squelette_maparaan/vignette.jpg | Bin 0 -> 17713 bytes
www/plugins/zpip_v1/404.html | 4 +
www/plugins/zpip_v1/article.html | 3 +
www/plugins/zpip_v1/auteur.html | 3 +
www/plugins/zpip_v1/backend.html | 43 +
www/plugins/zpip_v1/body.html | 23 +
www/plugins/zpip_v1/breve.html | 3 +
www/plugins/zpip_v1/contenu/article.html | 46 +
www/plugins/zpip_v1/contenu/auteur.html | 37 +
www/plugins/zpip_v1/contenu/breve.html | 22 +
www/plugins/zpip_v1/contenu/mot.html | 80 +
www/plugins/zpip_v1/contenu/page-401.html | 10 +
www/plugins/zpip_v1/contenu/page-404.html | 9 +
www/plugins/zpip_v1/contenu/page-forum.html | 89 +
www/plugins/zpip_v1/contenu/page-login.html | 18 +
www/plugins/zpip_v1/contenu/page-plan.html | 45 +
.../zpip_v1/contenu/page-recherche.html | 38 +
.../zpip_v1/contenu/page-sommaire.html | 20 +
.../zpip_v1/contenu/page-spip_pass.html | 12 +
www/plugins/zpip_v1/contenu/page.html | 5 +
www/plugins/zpip_v1/contenu/rubrique.html | 99 +
www/plugins/zpip_v1/contenu/site.html | 36 +
www/plugins/zpip_v1/contenu/z_apl.html | 10 +
www/plugins/zpip_v1/conventions.txt | 160 +
www/plugins/zpip_v1/extra/article.html | 26 +
www/plugins/zpip_v1/extra/auteur.html | 15 +
www/plugins/zpip_v1/extra/breve.html | 25 +
www/plugins/zpip_v1/extra/dist.html | 2 +
www/plugins/zpip_v1/extra/mot.html | 29 +
www/plugins/zpip_v1/extra/page-sommaire.html | 27 +
www/plugins/zpip_v1/extra/page.html | 6 +
www/plugins/zpip_v1/extra/rubrique.html | 13 +
www/plugins/zpip_v1/extra/site.html | 25 +
www/plugins/zpip_v1/extra/z_apl.html | 10 +
www/plugins/zpip_v1/forum.html | 25 +
www/plugins/zpip_v1/habillage.css | 294 +
www/plugins/zpip_v1/head/article.html | 5 +
www/plugins/zpip_v1/head/auteur.html | 11 +
www/plugins/zpip_v1/head/breve.html | 5 +
www/plugins/zpip_v1/head/dist.html | 26 +
www/plugins/zpip_v1/head/mot.html | 6 +
www/plugins/zpip_v1/head/page-404.html | 2 +
www/plugins/zpip_v1/head/page-plan.html | 3 +
www/plugins/zpip_v1/head/page-recherche.html | 2 +
www/plugins/zpip_v1/head/page-sommaire.html | 23 +
www/plugins/zpip_v1/head/page.html | 6 +
www/plugins/zpip_v1/head/rubrique.html | 7 +
www/plugins/zpip_v1/head/site.html | 5 +
www/plugins/zpip_v1/img/out.gif | Bin 0 -> 130 bytes
www/plugins/zpip_v1/img/zpip-128.png | Bin 0 -> 5931 bytes
www/plugins/zpip_v1/img/zpip-16.png | Bin 0 -> 812 bytes
www/plugins/zpip_v1/img/zpip-32.png | Bin 0 -> 1646 bytes
www/plugins/zpip_v1/img/zpip-48.png | Bin 0 -> 2413 bytes
www/plugins/zpip_v1/img/zpip-64.png | Bin 0 -> 2612 bytes
.../zpip_v1/inclure/ajax_parallel_load.html | 27 +
.../zpip_v1/inclure/article-resume.html | 22 +
.../zpip_v1/inclure/barre-nav-secteurs.html | 11 +
www/plugins/zpip_v1/inclure/barre-nav.html | 4 +
www/plugins/zpip_v1/inclure/documents.html | 34 +
www/plugins/zpip_v1/inclure/entete.html | 7 +
www/plugins/zpip_v1/inclure/forum.html | 90 +
www/plugins/zpip_v1/inclure/head.html | 43 +
www/plugins/zpip_v1/inclure/petition.html | 45 +
www/plugins/zpip_v1/inclure/pied.html | 7 +
www/plugins/zpip_v1/inclure/rss-item.html | 58 +
www/plugins/zpip_v1/inclure/rubriques.html | 27 +
www/plugins/zpip_v1/lang/zpip_de.php | 42 +
www/plugins/zpip_v1/lang/zpip_en.php | 46 +
www/plugins/zpip_v1/lang/zpip_es.php | 40 +
www/plugins/zpip_v1/lang/zpip_fr.php | 45 +
www/plugins/zpip_v1/lang/zpip_nl.php | 41 +
www/plugins/zpip_v1/lang/zpip_pt.php | 44 +
www/plugins/zpip_v1/lang/zpip_sv.php | 43 +
www/plugins/zpip_v1/login.html | 25 +
www/plugins/zpip_v1/mot.html | 3 +
www/plugins/zpip_v1/navigation/dist.html | 4 +
www/plugins/zpip_v1/navigation/page.html | 6 +
www/plugins/zpip_v1/navigation/z_apl.html | 10 +
www/plugins/zpip_v1/objet.html | 1 +
www/plugins/zpip_v1/page.html | 1 +
www/plugins/zpip_v1/plan.html | 1 +
www/plugins/zpip_v1/plugin.xml | 43 +
www/plugins/zpip_v1/recherche.html | 1 +
www/plugins/zpip_v1/rubrique.html | 3 +
www/plugins/zpip_v1/site.html | 6 +
www/plugins/zpip_v1/sommaire.html | 25 +
www/plugins/zpip_v1/spip_pass.html | 1 +
www/plugins/zpip_v1/spip_style.css | 65 +
www/plugins/zpip_v1/structure.html | 14 +
www/plugins/zpip_v1/svn.revision | 10 +
www/plugins/zpip_v1/tests/z_scaffoldable.php | 69 +
www/plugins/zpip_v1/z_options.php | 20 +
www/plugins/zpip_v1/z_pipelines.php | 323 +
www/prive/aide_body.css | 57 +
www/prive/aide_menu.html | 63 +
www/prive/contenu/article.html | 38 +
www/prive/contenu/breve.html | 18 +
www/prive/contenu/item_rss_plugin.html | 6 +
www/prive/contenu/rubrique.html | 18 +
www/prive/contenu/site.html | 14 +
www/prive/contenu/syndic_article.html | 14 +
www/prive/editer/article.html | 13 +
www/prive/editer/auteur.html | 8 +
www/prive/editer/breve.html | 8 +
www/prive/editer/groupe_mot.html | 8 +
www/prive/editer/mot.html | 8 +
www/prive/editer/rubrique.html | 8 +
www/prive/editer/site.html | 8 +
www/prive/formulaires/editer_article.html | 96 +
www/prive/formulaires/editer_article.php | 61 +
www/prive/formulaires/editer_auteur.html | 119 +
www/prive/formulaires/editer_auteur.php | 144 +
www/prive/formulaires/editer_breve.html | 69 +
www/prive/formulaires/editer_breve.php | 62 +
www/prive/formulaires/editer_groupe_mot.html | 66 +
www/prive/formulaires/editer_groupe_mot.php | 66 +
www/prive/formulaires/editer_mot.html | 39 +
www/prive/formulaires/editer_mot.php | 107 +
www/prive/formulaires/editer_rubrique.html | 42 +
www/prive/formulaires/editer_rubrique.php | 53 +
www/prive/formulaires/editer_site.html | 89 +
www/prive/formulaires/editer_site.php | 88 +
.../formulaires/editer_site_fonctions.php | 33 +
www/prive/formulaires/inc-logo_auteur.html | 3 +
www/prive/formulaires/login.html | 57 +
www/prive/formulaires/login.php | 227 +
www/prive/formulaires/menu_lang.html | 8 +
.../formulaires/selecteur_groupe_mot.html | 7 +
.../selecteur_groupe_mot_fonctions.php | 20 +
www/prive/ical_prive.html | 121 +
www/prive/images/admin-12.gif | Bin 0 -> 151 bytes
www/prive/images/administration-24.gif | Bin 0 -> 384 bytes
www/prive/images/administration-48.png | Bin 0 -> 765 bytes
www/prive/images/agenda-24.gif | Bin 0 -> 412 bytes
www/prive/images/aide-12.png | Bin 0 -> 550 bytes
www/prive/images/aide-12_rtl.png | Bin 0 -> 549 bytes
www/prive/images/aide-48.png | Bin 0 -> 944 bytes
www/prive/images/aide-48_rtl.png | Bin 0 -> 954 bytes
www/prive/images/aide.gif | Bin 0 -> 103 bytes
www/prive/images/aide_rtl.gif | Bin 0 -> 102 bytes
www/prive/images/annonce.gif | Bin 0 -> 341 bytes
www/prive/images/arrow_left.gif | Bin 0 -> 102 bytes
www/prive/images/arrow_right.gif | Bin 0 -> 102 bytes
www/prive/images/article-24.gif | Bin 0 -> 211 bytes
www/prive/images/asuivre-24.gif | Bin 0 -> 469 bytes
www/prive/images/asuivre-48.png | Bin 0 -> 1749 bytes
www/prive/images/attachment.gif | Bin 0 -> 976 bytes
www/prive/images/auteur-24.gif | Bin 0 -> 281 bytes
www/prive/images/barre-blanc.gif | Bin 0 -> 319 bytes
www/prive/images/barre-d.gif | Bin 0 -> 437 bytes
www/prive/images/barre-g.gif | Bin 0 -> 447 bytes
www/prive/images/barre-noir.gif | Bin 0 -> 322 bytes
www/prive/images/base-24.gif | Bin 0 -> 224 bytes
www/prive/images/bonhomme-12.png | Bin 0 -> 572 bytes
www/prive/images/breve-24.gif | Bin 0 -> 229 bytes
www/prive/images/cache-24.gif | Bin 0 -> 1034 bytes
www/prive/images/cadenas-24.gif | Bin 0 -> 317 bytes
www/prive/images/cal-jour.gif | Bin 0 -> 282 bytes
www/prive/images/cal-messagerie.png | Bin 0 -> 468 bytes
www/prive/images/cal-mois.gif | Bin 0 -> 271 bytes
www/prive/images/cal-rv.png | Bin 0 -> 558 bytes
www/prive/images/cal-semaine.gif | Bin 0 -> 287 bytes
www/prive/images/cal-suivi.png | Bin 0 -> 719 bytes
www/prive/images/cal-today.gif | Bin 0 -> 235 bytes
www/prive/images/calendrier-24.gif | Bin 0 -> 492 bytes
www/prive/images/cfg-16.png | Bin 0 -> 611 bytes
www/prive/images/chemin-fond-left.gif | Bin 0 -> 4121 bytes
www/prive/images/chemin-fond-right.gif | Bin 0 -> 4118 bytes
www/prive/images/choix-layout.gif | Bin 0 -> 604 bytes
www/prive/images/choix-layout_rtl.gif | Bin 0 -> 565 bytes
www/prive/images/choix-layout_rtl_he.gif | Bin 0 -> 565 bytes
www/prive/images/cookie-24.gif | Bin 0 -> 390 bytes
www/prive/images/creer.gif | Bin 0 -> 103 bytes
www/prive/images/croix-rouge.gif | Bin 0 -> 54 bytes
www/prive/images/deconnecter-24.gif | Bin 0 -> 289 bytes
.../images/degrade-etapes-clair-left.gif | Bin 0 -> 1928 bytes
.../images/degrade-etapes-clair-right.gif | Bin 0 -> 2247 bytes
.../images/degrade-etapes-fonce-left.gif | Bin 0 -> 2405 bytes
.../images/degrade-etapes-fonce-right.gif | Bin 0 -> 2608 bytes
.../images/degrade-etapes-rouge-left.gif | Bin 0 -> 2505 bytes
.../images/degrade-etapes-rouge-right.gif | Bin 0 -> 2709 bytes
www/prive/images/degrade-etapes-vert-left.gif | Bin 0 -> 2505 bytes
.../images/degrade-etapes-vert-right.gif | Bin 0 -> 2709 bytes
www/prive/images/degrade.jpg | Bin 0 -> 3034 bytes
www/prive/images/deplierbas.gif | Bin 0 -> 111 bytes
www/prive/images/deplierhaut.gif | Bin 0 -> 112 bytes
www/prive/images/deplierhaut_rtl.gif | Bin 0 -> 111 bytes
www/prive/images/descendre-16.png | Bin 0 -> 367 bytes
www/prive/images/doc-24.gif | Bin 0 -> 789 bytes
www/prive/images/documents-48.png | Bin 0 -> 1182 bytes
www/prive/images/documents-48_rtl.png | Bin 0 -> 1324 bytes
www/prive/images/edit.gif | Bin 0 -> 211 bytes
www/prive/images/effacer-cache-24.gif | Bin 0 -> 507 bytes
www/prive/images/envoi-message-24.gif | Bin 0 -> 311 bytes
www/prive/images/etape-encours.gif | Bin 0 -> 2529 bytes
www/prive/images/etape-encours.png | Bin 0 -> 3775 bytes
www/prive/images/etape-ok.gif | Bin 0 -> 2138 bytes
www/prive/images/etape-ok.png | Bin 0 -> 3422 bytes
www/prive/images/etape-todo.gif | Bin 0 -> 2255 bytes
www/prive/images/etape-todo.png | Bin 0 -> 3313 bytes
www/prive/images/feed.png | Bin 0 -> 838 bytes
www/prive/images/fiche-perso-24.gif | Bin 0 -> 173 bytes
www/prive/images/fiche-perso.png | Bin 0 -> 631 bytes
www/prive/images/fleche-left.png | Bin 0 -> 340 bytes
www/prive/images/fleche-right.png | Bin 0 -> 349 bytes
www/prive/images/fond-agenda.gif | Bin 0 -> 51 bytes
www/prive/images/fond-calendrier.gif | Bin 0 -> 61 bytes
www/prive/images/fond-fondo.gif | Bin 0 -> 1020 bytes
www/prive/images/fond-grille.gif | Bin 0 -> 58 bytes
www/prive/images/fond-gris-anim.gif | Bin 0 -> 347 bytes
www/prive/images/fond-inclure.png | Bin 0 -> 135 bytes
www/prive/images/fond-stats.gif | Bin 0 -> 212 bytes
www/prive/images/formulaire-editer.jpg | Bin 0 -> 258 bytes
www/prive/images/forum-admin-24.gif | Bin 0 -> 281 bytes
www/prive/images/forum-droite.gif | Bin 0 -> 62 bytes
www/prive/images/forum-droite_rtl.gif | Bin 0 -> 62 bytes
www/prive/images/forum-interne-24.gif | Bin 0 -> 609 bytes
www/prive/images/forum-public-24.gif | Bin 0 -> 622 bytes
www/prive/images/forum-vert.gif | Bin 0 -> 70 bytes
www/prive/images/groupe-mot-24.gif | Bin 0 -> 519 bytes
www/prive/images/heures-am.png | Bin 0 -> 413 bytes
www/prive/images/heures-pm.png | Bin 0 -> 447 bytes
www/prive/images/heures-tout.png | Bin 0 -> 403 bytes
www/prive/images/historique-24.gif | Bin 0 -> 775 bytes
www/prive/images/image-24.gif | Bin 0 -> 319 bytes
www/prive/images/index.php | 22 +
www/prive/images/interface-display-comp.png | Bin 0 -> 626 bytes
www/prive/images/interface-display.png | Bin 0 -> 636 bytes
www/prive/images/jauge-fond.gif | Bin 0 -> 140 bytes
www/prive/images/jauge-jaune.gif | Bin 0 -> 84 bytes
www/prive/images/jauge-rouge.gif | Bin 0 -> 84 bytes
www/prive/images/jauge-test-gd.gif | Bin 0 -> 464 bytes
www/prive/images/jauge-vert.gif | Bin 0 -> 94 bytes
www/prive/images/label-fond-compact-left.gif | Bin 0 -> 453 bytes
www/prive/images/label-fond-compact-right.gif | Bin 0 -> 452 bytes
www/prive/images/label-fond-gauche-left.gif | Bin 0 -> 3275 bytes
www/prive/images/label-fond-gauche-right.gif | Bin 0 -> 3275 bytes
www/prive/images/label-fond-haut-left.gif | Bin 0 -> 2924 bytes
www/prive/images/label-fond-haut-right.gif | Bin 0 -> 3154 bytes
www/prive/images/langues-12.gif | Bin 0 -> 162 bytes
www/prive/images/langues-24.gif | Bin 0 -> 274 bytes
www/prive/images/langues-modif-12.gif | Bin 0 -> 140 bytes
www/prive/images/langues-off-12.gif | Bin 0 -> 121 bytes
www/prive/images/loader.gif | Bin 0 -> 958 bytes
www/prive/images/logo-spip.gif | Bin 0 -> 12976 bytes
www/prive/images/logo-spip2.gif | Bin 0 -> 11825 bytes
www/prive/images/logo_spip.jpg | Bin 0 -> 3340 bytes
www/prive/images/loupe-moins.gif | Bin 0 -> 256 bytes
www/prive/images/loupe-plus.gif | Bin 0 -> 281 bytes
www/prive/images/loupe.png | Bin 0 -> 914 bytes
www/prive/images/m_envoi.gif | Bin 0 -> 97 bytes
www/prive/images/m_envoi_bleu.gif | Bin 0 -> 61 bytes
www/prive/images/m_envoi_bleu_rtl.gif | Bin 0 -> 61 bytes
www/prive/images/m_envoi_jaune.gif | Bin 0 -> 61 bytes
www/prive/images/m_envoi_jaune_rtl.gif | Bin 0 -> 61 bytes
www/prive/images/m_envoi_rtl.gif | Bin 0 -> 98 bytes
www/prive/images/mail-auto-24.gif | Bin 0 -> 1122 bytes
www/prive/images/mail-forum-24.gif | Bin 0 -> 1125 bytes
www/prive/images/message.gif | Bin 0 -> 318 bytes
www/prive/images/message_erreur-24.png | Bin 0 -> 1400 bytes
www/prive/images/message_notice-24.png | Bin 0 -> 1108 bytes
www/prive/images/message_ok-24.png | Bin 0 -> 1126 bytes
www/prive/images/messagerie-24.gif | Bin 0 -> 371 bytes
www/prive/images/messagerie-48.png | Bin 0 -> 1053 bytes
www/prive/images/minipres-gris.png | Bin 0 -> 4413 bytes
www/prive/images/monter-16.png | Bin 0 -> 361 bytes
www/prive/images/mot-cle-24.gif | Bin 0 -> 175 bytes
www/prive/images/naviguer-site.png | Bin 0 -> 428 bytes
www/prive/images/noeud_moins.gif | Bin 0 -> 207 bytes
www/prive/images/noeud_plus.gif | Bin 0 -> 212 bytes
www/prive/images/pale.gif | Bin 0 -> 46 bytes
www/prive/images/pense-bete.gif | Bin 0 -> 307 bytes
www/prive/images/petite-cle.gif | Bin 0 -> 236 bytes
www/prive/images/petition-24.gif | Bin 0 -> 481 bytes
www/prive/images/plugin-24.gif | Bin 0 -> 805 bytes
www/prive/images/plus.gif | Bin 0 -> 58 bytes
www/prive/images/poubelle.gif | Bin 0 -> 203 bytes
www/prive/images/puce-blanche-anim.gif | Bin 0 -> 293 bytes
www/prive/images/puce-blanche-breve.gif | Bin 0 -> 53 bytes
www/prive/images/puce-blanche.gif | Bin 0 -> 56 bytes
www/prive/images/puce-orange-anim.gif | Bin 0 -> 294 bytes
www/prive/images/puce-orange-breve.gif | Bin 0 -> 53 bytes
www/prive/images/puce-orange.gif | Bin 0 -> 55 bytes
www/prive/images/puce-poubelle-anim.gif | Bin 0 -> 287 bytes
www/prive/images/puce-poubelle-breve.gif | Bin 0 -> 59 bytes
www/prive/images/puce-poubelle.gif | Bin 0 -> 64 bytes
www/prive/images/puce-rouge-anim.gif | Bin 0 -> 292 bytes
www/prive/images/puce-rouge-breve.gif | Bin 0 -> 61 bytes
www/prive/images/puce-rouge.gif | Bin 0 -> 66 bytes
www/prive/images/puce-verte-anim.gif | Bin 0 -> 289 bytes
www/prive/images/puce-verte-breve.gif | Bin 0 -> 47 bytes
www/prive/images/puce-verte.gif | Bin 0 -> 49 bytes
www/prive/images/racine-24.gif | Bin 0 -> 353 bytes
www/prive/images/racine-site-12.gif | Bin 0 -> 172 bytes
www/prive/images/racine-site-24.gif | Bin 0 -> 323 bytes
www/prive/images/rayures-danger.gif | Bin 0 -> 73 bytes
www/prive/images/rayures-danger.png | Bin 0 -> 340 bytes
www/prive/images/rayures-fines.gif | Bin 0 -> 51 bytes
www/prive/images/rayures-gris.gif | Bin 0 -> 207 bytes
www/prive/images/rayures-sup.gif | Bin 0 -> 92 bytes
www/prive/images/rayures.gif | Bin 0 -> 53 bytes
www/prive/images/redac-12.gif | Bin 0 -> 165 bytes
www/prive/images/redacteurs-24.gif | Bin 0 -> 281 bytes
www/prive/images/redacteurs-48.png | Bin 0 -> 3046 bytes
www/prive/images/referers-24.gif | Bin 0 -> 1204 bytes
www/prive/images/rien.gif | Bin 0 -> 63 bytes
www/prive/images/rond-b.gif | Bin 0 -> 48 bytes
www/prive/images/rond-bd.gif | Bin 0 -> 72 bytes
www/prive/images/rond-bg.gif | Bin 0 -> 72 bytes
www/prive/images/rond-d.gif | Bin 0 -> 50 bytes
www/prive/images/rond-g.gif | Bin 0 -> 50 bytes
www/prive/images/rond-h-24.gif | Bin 0 -> 67 bytes
www/prive/images/rond-hd-24.gif | Bin 0 -> 86 bytes
www/prive/images/rond-hg-24.gif | Bin 0 -> 85 bytes
www/prive/images/rubrique-12.gif | Bin 0 -> 158 bytes
www/prive/images/rubrique-24.gif | Bin 0 -> 244 bytes
www/prive/images/rv-12.gif | Bin 0 -> 154 bytes
www/prive/images/rv.gif | Bin 0 -> 191 bytes
www/prive/images/sans-heure.gif | Bin 0 -> 337 bytes
www/prive/images/searching.gif | Bin 0 -> 1849 bytes
www/prive/images/secteur-12.gif | Bin 0 -> 159 bytes
www/prive/images/secteur-24.gif | Bin 0 -> 281 bytes
www/prive/images/securise.gif | Bin 0 -> 409 bytes
www/prive/images/set-ecran-etroit.png | Bin 0 -> 654 bytes
www/prive/images/set-ecran.png | Bin 0 -> 598 bytes
www/prive/images/site-24.gif | Bin 0 -> 287 bytes
www/prive/images/spip-pack-24.png | Bin 0 -> 1070 bytes
www/prive/images/spip_out.gif | Bin 0 -> 66 bytes
www/prive/images/statistiques-24.gif | Bin 0 -> 390 bytes
www/prive/images/statistiques-48.png | Bin 0 -> 1174 bytes
www/prive/images/suivi-forum-24.gif | Bin 0 -> 290 bytes
www/prive/images/suivi-petition-24.gif | Bin 0 -> 468 bytes
www/prive/images/supprimer-sansdanger.gif | Bin 0 -> 85 bytes
www/prive/images/supprimer.gif | Bin 0 -> 85 bytes
www/prive/images/synchro-24.gif | Bin 0 -> 277 bytes
www/prive/images/tab.png | Bin 0 -> 3373 bytes
www/prive/images/telecharger-16.png | Bin 0 -> 431 bytes
www/prive/images/telecharger.gif | Bin 0 -> 112 bytes
www/prive/images/test.gif | Bin 0 -> 71 bytes
www/prive/images/test.jpg | Bin 0 -> 520 bytes
www/prive/images/test.png | Bin 0 -> 284 bytes
www/prive/images/test_image.jpg | Bin 0 -> 24643 bytes
www/prive/images/tirets-separation.gif | Bin 0 -> 51 bytes
www/prive/images/tourner-demitour-10.gif | Bin 0 -> 104 bytes
www/prive/images/tourner-droite-10.gif | Bin 0 -> 99 bytes
www/prive/images/tourner-gauche-10.gif | Bin 0 -> 97 bytes
www/prive/images/tout-site-24.gif | Bin 0 -> 358 bytes
www/prive/images/tout-site.png | Bin 0 -> 940 bytes
www/prive/images/traductions-24.gif | Bin 0 -> 664 bytes
www/prive/images/triangle-bas.gif | Bin 0 -> 146 bytes
www/prive/images/triangle-bleu-bas.gif | Bin 0 -> 70 bytes
www/prive/images/triangle-bleu.gif | Bin 0 -> 71 bytes
www/prive/images/triangle-droite.gif | Bin 0 -> 81 bytes
www/prive/images/triangle-droite_rtl.gif | Bin 0 -> 80 bytes
www/prive/images/triangle.gif | Bin 0 -> 145 bytes
www/prive/images/triangle_rtl.gif | Bin 0 -> 143 bytes
www/prive/images/vignette-24.png | Bin 0 -> 581 bytes
www/prive/images/visit-12.gif | Bin 0 -> 155 bytes
www/prive/images/visiter-48.png | Bin 0 -> 921 bytes
www/prive/images/visiter-48_rtl.png | Bin 0 -> 941 bytes
www/prive/images/warning-24.gif | Bin 0 -> 344 bytes
www/prive/images/warning.gif | Bin 0 -> 1063 bytes
www/prive/images/wrapper.php | 28 +
www/prive/images/xml.gif | Bin 0 -> 240 bytes
www/prive/informer_auteur.html | 1 +
www/prive/informer_auteur_fonctions.php | 43 +
www/prive/infos/article.html | 52 +
www/prive/infos/article_fonctions.php | 15 +
www/prive/infos/auteur.html | 23 +
www/prive/infos/breve.html | 20 +
www/prive/infos/breve_fonctions.php | 13 +
www/prive/infos/rubrique.html | 31 +
www/prive/infos/site.html | 15 +
www/prive/infos/site_fonctions.php | 13 +
www/prive/javascript/SearchHighlight.js | 222 +
www/prive/javascript/ajaxCallback.js | 327 +
www/prive/javascript/articles_tous_edite.js | 153 +
www/prive/javascript/async_upload.js | 130 +
www/prive/javascript/bgiframe.js | 96 +
www/prive/javascript/gadgets.js | 38 +
.../javascript/jquery-ui-1.8-drag-drop.min.js | 86 +
www/prive/javascript/jquery.autosave.js | 45 +
www/prive/javascript/jquery.cookie.js | 96 +
www/prive/javascript/jquery.form.js | 660 +
www/prive/javascript/jquery.js | 7179 ++++++++++
www/prive/javascript/layer.js | 510 +
www/prive/javascript/login.js | 90 +
www/prive/javascript/md5.js | 392 +
www/prive/javascript/multilang.js | 238 +
www/prive/javascript/pause.js | 41 +
www/prive/javascript/presentation.js | 149 +
www/prive/javascript/sha256.js | 68 +
www/prive/javascript/spip_barre.js | 110 +
www/prive/login.html | 51 +
www/prive/minipres.css | 114 +
www/prive/modeles/application.html | 47 +
www/prive/modeles/audio.html | 15 +
www/prive/modeles/cfg.html | 5 +
www/prive/modeles/doc.html | 31 +
www/prive/modeles/emb.html | 6 +
www/prive/modeles/formulaire.html | 4 +
www/prive/modeles/image.html | 47 +
www/prive/modeles/img.html | 34 +
www/prive/modeles/pagination.html | 59 +
www/prive/modeles/pagination_page.html | 59 +
.../pagination_page_precedent_suivant.html | 70 +
.../modeles/pagination_precedent_suivant.html | 17 +
www/prive/modeles/paginationitem.html | 5 +
www/prive/modeles/text.html | 3 +
www/prive/modeles/video.html | 38 +
www/prive/puce_prive.gif | Bin 0 -> 145 bytes
www/prive/puce_prive_rtl.gif | Bin 0 -> 143 bytes
www/prive/rss.html | 1 +
www/prive/rss/a_suivre.html | 58 +
www/prive/rss/forums.html | 31 +
www/prive/rss/forums_interne.html | 31 +
www/prive/rss/forums_prop.html | 31 +
www/prive/rss/forums_public.html | 33 +
www/prive/rss/forums_spam.html | 31 +
www/prive/rss/forums_vide.html | 31 +
www/prive/rss/messagerie.html | 48 +
www/prive/rss/revisions.html | 27 +
www/prive/rss/signatures.html | 28 +
www/prive/rss_fonctions.php | 16 +
www/prive/spip_admin.css | 84 +
www/prive/spip_pass.html | 51 +
www/prive/spip_style.css | 61 +
www/prive/spip_style_invisible.css | 3 +
www/prive/spip_style_print.css | 15 +
www/prive/spip_style_visible.css | 3 +
www/prive/stats/echelle.html | 25 +
www/prive/style_prive.html | 895 ++
www/prive/style_prive_defaut.css | 32 +
www/prive/style_prive_formulaires.html | 546 +
www/prive/style_prive_ie.html | 64 +
www/prive/style_prive_plugins.html | 118 +
www/prive/style_prive_plugins_fonctions.php | 12 +
www/prive/style_vieilles_def.html | 70 +
www/prive/transmettre.html | 1 +
www/prive/transmettre/forum_article.html | 11 +
www/prive/transmettre/signatures_article.html | 11 +
www/prive/transmettre/statistiques.html | 9 +
.../transmettre/statistiques_article.html | 9 +
www/prive/vignettes/abw.png | Bin 0 -> 1910 bytes
www/prive/vignettes/ai.png | Bin 0 -> 2705 bytes
www/prive/vignettes/aiff.png | Bin 0 -> 2558 bytes
www/prive/vignettes/asf.png | Bin 0 -> 3383 bytes
www/prive/vignettes/avi.png | Bin 0 -> 3383 bytes
www/prive/vignettes/bin.png | Bin 0 -> 2645 bytes
www/prive/vignettes/blend.png | Bin 0 -> 3170 bytes
www/prive/vignettes/bmp.png | Bin 0 -> 2111 bytes
www/prive/vignettes/bz2.png | Bin 0 -> 2910 bytes
www/prive/vignettes/c.png | Bin 0 -> 2369 bytes
www/prive/vignettes/css.png | Bin 0 -> 2076 bytes
www/prive/vignettes/csv.png | Bin 0 -> 2310 bytes
www/prive/vignettes/deb.png | Bin 0 -> 2405 bytes
www/prive/vignettes/defaut.png | Bin 0 -> 1816 bytes
www/prive/vignettes/djvu.png | Bin 0 -> 1849 bytes
www/prive/vignettes/doc.png | Bin 0 -> 2567 bytes
www/prive/vignettes/dvi.png | Bin 0 -> 2404 bytes
www/prive/vignettes/eps.png | Bin 0 -> 2141 bytes
www/prive/vignettes/flv.png | Bin 0 -> 2530 bytes
www/prive/vignettes/gif.png | Bin 0 -> 2111 bytes
www/prive/vignettes/gz.png | Bin 0 -> 2709 bytes
www/prive/vignettes/h.png | Bin 0 -> 2209 bytes
www/prive/vignettes/html.png | Bin 0 -> 3702 bytes
www/prive/vignettes/index.php | 25 +
www/prive/vignettes/jpg.png | Bin 0 -> 2111 bytes
www/prive/vignettes/kml.png | Bin 0 -> 3096 bytes
www/prive/vignettes/kmz.png | Bin 0 -> 3096 bytes
www/prive/vignettes/mid.png | Bin 0 -> 2879 bytes
www/prive/vignettes/mka.png | Bin 0 -> 2526 bytes
www/prive/vignettes/mkv.png | Bin 0 -> 3383 bytes
www/prive/vignettes/mng.png | Bin 0 -> 3383 bytes
www/prive/vignettes/mov.png | Bin 0 -> 3496 bytes
www/prive/vignettes/mp3.png | Bin 0 -> 2526 bytes
www/prive/vignettes/mp4.png | Bin 0 -> 3383 bytes
www/prive/vignettes/mpg.png | Bin 0 -> 3383 bytes
www/prive/vignettes/odb.png | Bin 0 -> 3178 bytes
www/prive/vignettes/odc.png | Bin 0 -> 3231 bytes
www/prive/vignettes/odf.png | Bin 0 -> 2350 bytes
www/prive/vignettes/odg.png | Bin 0 -> 2505 bytes
www/prive/vignettes/odi.png | Bin 0 -> 3048 bytes
www/prive/vignettes/odm.png | Bin 0 -> 1936 bytes
www/prive/vignettes/odp.png | Bin 0 -> 3422 bytes
www/prive/vignettes/ods.png | Bin 0 -> 3779 bytes
www/prive/vignettes/odt.png | Bin 0 -> 2460 bytes
www/prive/vignettes/ogg.png | Bin 0 -> 2590 bytes
www/prive/vignettes/otg.png | Bin 0 -> 2505 bytes
www/prive/vignettes/otp.png | Bin 0 -> 3422 bytes
www/prive/vignettes/ots.png | Bin 0 -> 3779 bytes
www/prive/vignettes/ott.png | Bin 0 -> 2460 bytes
www/prive/vignettes/pas.png | Bin 0 -> 2064 bytes
www/prive/vignettes/pdf.png | Bin 0 -> 2167 bytes
www/prive/vignettes/pgn.png | Bin 0 -> 2503 bytes
www/prive/vignettes/png.png | Bin 0 -> 2111 bytes
www/prive/vignettes/pps.png | Bin 0 -> 3417 bytes
www/prive/vignettes/ppt.png | Bin 0 -> 3417 bytes
www/prive/vignettes/ps.png | Bin 0 -> 2141 bytes
www/prive/vignettes/psd.png | Bin 0 -> 2821 bytes
www/prive/vignettes/qt.png | Bin 0 -> 3496 bytes
www/prive/vignettes/ra.png | Bin 0 -> 3194 bytes
www/prive/vignettes/ram.png | Bin 0 -> 3194 bytes
www/prive/vignettes/rm.png | Bin 0 -> 3194 bytes
www/prive/vignettes/rpm.png | Bin 0 -> 2878 bytes
www/prive/vignettes/rtf.png | Bin 0 -> 1910 bytes
www/prive/vignettes/sdd.png | Bin 0 -> 3422 bytes
www/prive/vignettes/sdw.png | Bin 0 -> 2460 bytes
www/prive/vignettes/sit.png | Bin 0 -> 2728 bytes
www/prive/vignettes/smil.png | Bin 0 -> 2389 bytes
www/prive/vignettes/spip.png | Bin 0 -> 2623 bytes
www/prive/vignettes/svg.png | Bin 0 -> 3312 bytes
www/prive/vignettes/swf.png | Bin 0 -> 2197 bytes
www/prive/vignettes/sxc.png | Bin 0 -> 3779 bytes
www/prive/vignettes/sxi.png | Bin 0 -> 3422 bytes
www/prive/vignettes/sxw.png | Bin 0 -> 2460 bytes
www/prive/vignettes/tex.png | Bin 0 -> 2404 bytes
www/prive/vignettes/tgz.png | Bin 0 -> 2845 bytes
www/prive/vignettes/tif.png | Bin 0 -> 2111 bytes
www/prive/vignettes/torrent.png | Bin 0 -> 2649 bytes
www/prive/vignettes/ttf.png | Bin 0 -> 2567 bytes
www/prive/vignettes/txt.png | Bin 0 -> 1563 bytes
www/prive/vignettes/wav.png | Bin 0 -> 2633 bytes
www/prive/vignettes/wmv.png | Bin 0 -> 3383 bytes
www/prive/vignettes/xcf.png | Bin 0 -> 2943 bytes
www/prive/vignettes/xls.png | Bin 0 -> 3484 bytes
www/prive/vignettes/xml.png | Bin 0 -> 2167 bytes
www/prive/vignettes/zip.png | Bin 0 -> 2703 bytes
www/rien.gif | Bin 0 -> 63 bytes
www/spip.php | 26 +
www/squelettes-dist/404.html | 51 +
www/squelettes-dist/agenda.css | 128 +
www/squelettes-dist/agenda.html | 14 +
www/squelettes-dist/agenda_jour.html | 34 +
www/squelettes-dist/agenda_mois.html | 9 +
www/squelettes-dist/agenda_periode.html | 8 +
www/squelettes-dist/agenda_semaine.html | 7 +
www/squelettes-dist/agenda_trimestre.html | 3 +
www/squelettes-dist/article.html | 108 +
www/squelettes-dist/auteur.html | 95 +
www/squelettes-dist/backend-breves.html | 69 +
www/squelettes-dist/backend.html | 34 +
www/squelettes-dist/breve.html | 89 +
www/squelettes-dist/distrib.html | 7 +
www/squelettes-dist/engines-list.txt | 276 +
www/squelettes-dist/favicon.ico.html | 2 +
www/squelettes-dist/feed.png | Bin 0 -> 725 bytes
.../formulaires/administration.html | 25 +
.../formulaires/ecrire_auteur.html | 49 +
.../formulaires/ecrire_auteur.php | 79 +
www/squelettes-dist/formulaires/forum.html | 166 +
www/squelettes-dist/formulaires/forum.php | 320 +
.../formulaires/inc-choix_mots.html | 10 +
.../formulaires/inc-forum_ajouter_mot.html | 1 +
.../inc-forum_bloc_choix_mots.html | 8 +
.../formulaires/inc-forum_previsu.html | 29 +
.../formulaires/inc-login_forum.html | 33 +
.../formulaires/inc-login_forum_abo.html | 15 +
.../formulaires/inscription.html | 49 +
.../formulaires/inscription.php | 223 +
.../formulaires/mot_de_passe.html | 29 +
.../formulaires/mot_de_passe.php | 94 +
www/squelettes-dist/formulaires/oubli.html | 29 +
www/squelettes-dist/formulaires/oubli.php | 101 +
.../formulaires/recherche.html | 8 +
www/squelettes-dist/formulaires/recherche.php | 31 +
.../formulaires/signature.html | 67 +
www/squelettes-dist/formulaires/signature.php | 384 +
www/squelettes-dist/formulaires/site.html | 36 +
www/squelettes-dist/formulaires/site.php | 64 +
www/squelettes-dist/forum.html | 130 +
www/squelettes-dist/habillage.css | 200 +
www/squelettes-dist/ical.html | 30 +
www/squelettes-dist/identifiants.html | 13 +
www/squelettes-dist/impression.css | 72 +
www/squelettes-dist/inc-documents.html | 52 +
www/squelettes-dist/inc-entete.html | 4 +
www/squelettes-dist/inc-forum.html | 79 +
www/squelettes-dist/inc-head.html | 38 +
www/squelettes-dist/inc-petition.html | 41 +
www/squelettes-dist/inc-pied.html | 13 +
www/squelettes-dist/inc-rss-item.html | 55 +
www/squelettes-dist/inc-rubriques.html | 28 +
www/squelettes-dist/modeles/article_mots.html | 19 +
.../modeles/article_traductions.html | 18 +
www/squelettes-dist/modeles/favicon.html | 7 +
www/squelettes-dist/modeles/foreach.html | 1 +
www/squelettes-dist/modeles/lesauteurs.html | 8 +
www/squelettes-dist/mot.html | 150 +
www/squelettes-dist/nouveautes.html | 37 +
www/squelettes-dist/plan.html | 106 +
.../polices/dustismo-license.txt | 730 +
www/squelettes-dist/polices/dustismo.ttf | Bin 0 -> 52352 bytes
www/squelettes-dist/polices/dustismo_bold.ttf | Bin 0 -> 53168 bytes
www/squelettes-dist/puce.gif | Bin 0 -> 51 bytes
www/squelettes-dist/puce_rtl.gif | Bin 0 -> 84 bytes
www/squelettes-dist/recherche.html | 134 +
www/squelettes-dist/rechercher.gif | Bin 0 -> 660 bytes
www/squelettes-dist/robots.txt.html | 19 +
www/squelettes-dist/rss_forum_article.html | 27 +
www/squelettes-dist/rss_forum_breve.html | 26 +
www/squelettes-dist/rss_forum_rubrique.html | 26 +
www/squelettes-dist/rss_forum_syndic.html | 26 +
www/squelettes-dist/rss_forum_thread.html | 26 +
www/squelettes-dist/rubrique.html | 176 +
www/squelettes-dist/site.html | 108 +
www/squelettes-dist/sitemap.xml.html | 42 +
www/squelettes-dist/sommaire.html | 109 +
www/squelettes-dist/spip.ico | Bin 0 -> 1406 bytes
www/squelettes-dist/spip.png | Bin 0 -> 1801 bytes
www/squelettes-dist/spip_formulaires.css | 108 +
www/squelettes-dist/win_width.htc | 23 +
www/squelettes/body.html | 64 +
www/squelettes/contenu/article.html | 87 +
www/squelettes/contenu/auteur.html | 53 +
www/squelettes/contenu/breve.html | 36 +
www/squelettes/contenu/mot.html | 110 +
www/squelettes/contenu/page-forum.html | 104 +
www/squelettes/contenu/page-login.html | 17 +
www/squelettes/contenu/page-plan.html | 59 +
www/squelettes/contenu/page-recherche.html | 50 +
www/squelettes/contenu/page-sommaire.html | 123 +
www/squelettes/contenu/page-spip_pass.html | 14 +
www/squelettes/contenu/rubrique.html | 75 +
www/squelettes/contenu/site.html | 53 +
www/squelettes/extra/article.html | 33 +
www/squelettes/extra/auteur.html | 23 +
www/squelettes/extra/breve.html | 33 +
www/squelettes/extra/mot.html | 40 +
www/squelettes/extra/page-sommaire.html | 0
www/squelettes/extra/rubrique.html | 61 +
www/squelettes/extra/site.html | 34 +
www/squelettes/fonts/quaversans-webfont.eot | Bin 0 -> 44280 bytes
www/squelettes/fonts/quaversans-webfont.svg | 248 +
www/squelettes/fonts/quaversans-webfont.ttf | Bin 0 -> 44088 bytes
www/squelettes/fonts/quaversans-webfont.woff | Bin 0 -> 23620 bytes
www/squelettes/habillage.css | 575 +
www/squelettes/img/agenda-plus.png | Bin 0 -> 1368 bytes
.../img/autres-animations-legende.png | Bin 0 -> 299 bytes
www/squelettes/img/autres-animations-plus.png | Bin 0 -> 326 bytes
www/squelettes/img/autres-animations.png | Bin 0 -> 420 bytes
.../img/bd-subscribed-list-item.gif | Bin 0 -> 43 bytes
www/squelettes/img/bg-body.gif | Bin 0 -> 153 bytes
www/squelettes/img/bg-body.png | Bin 0 -> 492 bytes
www/squelettes/img/bg-cat-item.gif | Bin 0 -> 160 bytes
www/squelettes/img/bg-cat-item.png | Bin 0 -> 6619 bytes
www/squelettes/img/bg-cat.png | Bin 0 -> 4393 bytes
.../img/bg-comment-even-callout.png | Bin 0 -> 320 bytes
www/squelettes/img/bg-footer.png | Bin 0 -> 97684 bytes
www/squelettes/img/bg-lirelasuite.jpg | Bin 0 -> 306 bytes
www/squelettes/img/bg-nav.png | Bin 0 -> 154 bytes
www/squelettes/img/bg-paddcat.png | Bin 0 -> 976 bytes
www/squelettes/img/bg-page-header-wrapper.png | Bin 0 -> 957 bytes
www/squelettes/img/bg-page-wrapper.png | Bin 0 -> 167 bytes
www/squelettes/img/bg-submit.jpg | Bin 0 -> 330 bytes
www/squelettes/img/bg-title-page-2.png | Bin 0 -> 2148 bytes
www/squelettes/img/bg-title-slider.png | Bin 0 -> 120 bytes
www/squelettes/img/bg-title.png | Bin 0 -> 127 bytes
.../img/border-sidebar-list-item.gif | Bin 0 -> 44 bytes
www/squelettes/img/bricoler-velo.jpg | Bin 0 -> 12017 bytes
www/squelettes/img/bricoler-velo_p.jpg | Bin 0 -> 8634 bytes
.../img/bullet-sidebar-list-item.gif | Bin 0 -> 46 bytes
www/squelettes/img/emprunter-velo.jpg | Bin 0 -> 14802 bytes
www/squelettes/img/emprunter-velo_p.jpg | Bin 0 -> 9381 bytes
www/squelettes/img/facebook.png | Bin 0 -> 1731 bytes
www/squelettes/img/flag_de.png | Bin 0 -> 729 bytes
www/squelettes/img/flag_en.png | Bin 0 -> 1214 bytes
www/squelettes/img/flag_es.png | Bin 0 -> 958 bytes
www/squelettes/img/flag_fr.png | Bin 0 -> 911 bytes
www/squelettes/img/flickr-dots.png | Bin 0 -> 1251 bytes
www/squelettes/img/flickr-logo.png | Bin 0 -> 1287 bytes
www/squelettes/img/input-search.png | Bin 0 -> 2355 bytes
www/squelettes/img/logo-bg.png | Bin 0 -> 1388 bytes
www/squelettes/img/logo-velocampus.png | Bin 0 -> 18984 bytes
www/squelettes/img/map-nantes.png | Bin 0 -> 9594 bytes
www/squelettes/img/menu-activites.png | Bin 0 -> 3857 bytes
www/squelettes/img/menu-asso.png | Bin 0 -> 1825 bytes
www/squelettes/img/menu-echanger.png | Bin 0 -> 1053 bytes
www/squelettes/img/menu-liens.png | Bin 0 -> 2592 bytes
www/squelettes/img/menu-nousrejoindre.png | Bin 0 -> 3290 bytes
www/squelettes/img/nous-rejoindre.jpg | Bin 0 -> 13859 bytes
www/squelettes/img/nous-rejoindre_p.jpg | Bin 0 -> 9142 bytes
www/squelettes/img/puce-agenda.png | Bin 0 -> 147 bytes
www/squelettes/img/savoir-plus.png | Bin 0 -> 329 bytes
www/squelettes/img/search-submit.png | Bin 0 -> 367 bytes
www/squelettes/img/sortir-legende.png | Bin 0 -> 262 bytes
www/squelettes/img/sortir-plus.png | Bin 0 -> 330 bytes
www/squelettes/img/sortir.png | Bin 0 -> 348 bytes
www/squelettes/img/top.png | Bin 0 -> 1042 bytes
www/squelettes/img/vente-legende.png | Bin 0 -> 262 bytes
www/squelettes/img/vente-plus.png | Bin 0 -> 328 bytes
www/squelettes/img/vente.png | Bin 0 -> 348 bytes
www/squelettes/img/vie-asso-legende.png | Bin 0 -> 281 bytes
www/squelettes/img/vie-asso.png | Bin 0 -> 391 bytes
www/squelettes/inc-theme-head.html | 159 +
www/squelettes/inclure/article-resume.html | 32 +
www/squelettes/inclure/documents.html | 44 +
www/squelettes/inclure/entete.html | 7 +
www/squelettes/inclure/forum.html | 107 +
www/squelettes/inclure/petition.html | 46 +
www/squelettes/inclure/pied.html | 26 +
www/squelettes/inclure/rubriques.html | 35 +
www/squelettes/javascript/smoothscroll.js | 145 +
www/squelettes/lang/public_de.php | 125 +
www/squelettes/lang/public_en.php | 136 +
www/squelettes/lang/public_es.php | 125 +
www/squelettes/lang/public_fr.php | 134 +
www/svn.revision | 10 +
www/themes/theme_maparaan/body.html | 41 +
www/themes/theme_maparaan/habillage.css | 339 +
www/themes/theme_maparaan/img/bd-cat-item.gif | Bin 0 -> 73 bytes
.../img/bd-subscribed-list-item.gif | Bin 0 -> 43 bytes
www/themes/theme_maparaan/img/bg-body.gif | Bin 0 -> 153 bytes
www/themes/theme_maparaan/img/bg-cat-item.gif | Bin 0 -> 160 bytes
www/themes/theme_maparaan/img/bg-cat.gif | Bin 0 -> 54 bytes
.../img/bg-comment-even-callout.png | Bin 0 -> 320 bytes
.../theme_maparaan/img/bg-lirelasuite.jpg | Bin 0 -> 306 bytes
www/themes/theme_maparaan/img/bg-submit.jpg | Bin 0 -> 330 bytes
.../theme_maparaan/img/bg-title-page-2.png | Bin 0 -> 2148 bytes
.../img/border-sidebar-list-item.gif | Bin 0 -> 44 bytes
.../img/bullet-sidebar-list-item.gif | Bin 0 -> 46 bytes
www/themes/theme_maparaan/img/icon-padd.jpg | Bin 0 -> 2176 bytes
.../theme_maparaan/img/input-search.png | Bin 0 -> 1764 bytes
www/themes/theme_maparaan/img/logo.png | Bin 0 -> 6031 bytes
www/themes/theme_maparaan/img/site-name.png | Bin 0 -> 9180 bytes
www/themes/theme_maparaan/img/site-name.psd | Bin 0 -> 208828 bytes
www/themes/theme_maparaan/img/thumbnail.jpg | Bin 0 -> 3818 bytes
.../theme_maparaan/inc-insert-head.html | 1 +
.../theme_maparaan/inc-theme-copyleft.html | 4 +
.../theme_maparaan/lang/maparaan_en.php | 64 +
.../theme_maparaan/lang/maparaan_es.php | 64 +
.../theme_maparaan/lang/maparaan_fr.php | 64 +
www/themes/theme_maparaan/licence.txt | 674 +
.../theme_maparaan/main-loading.js.html | 58 +
www/themes/theme_maparaan/plugin.xml | 15 +
www/themes/theme_maparaan/svn.revision | 10 +
www/themes/theme_maparaan/vignette.jpg | Bin 0 -> 17713 bytes
3177 files changed, 399881 insertions(+)
create mode 100644 www/CHANGELOG.txt
create mode 100644 www/COPYING.txt
create mode 100644 www/INSTALL.txt
create mode 100755 www/config/mes_fonctions.php
create mode 100755 www/config/remove.txt
create mode 100644 www/ecrire/action/acceder_document.php
create mode 100644 www/ecrire/action/activer_plugins.php
create mode 100644 www/ecrire/action/auth.php
create mode 100644 www/ecrire/action/changer_mode_document.php
create mode 100644 www/ecrire/action/charger_plugin.php
create mode 100644 www/ecrire/action/configurer.php
create mode 100644 www/ecrire/action/configurer_notifications_forum.php
create mode 100644 www/ecrire/action/configurer_previsualiseur.php
create mode 100644 www/ecrire/action/configurer_relayeur.php
create mode 100644 www/ecrire/action/confirmer_email.php
create mode 100644 www/ecrire/action/converser.php
create mode 100644 www/ecrire/action/cookie.php
create mode 100644 www/ecrire/action/copier_local.php
create mode 100644 www/ecrire/action/dater.php
create mode 100644 www/ecrire/action/desinstaller_plugin.php
create mode 100644 www/ecrire/action/documenter.php
create mode 100644 www/ecrire/action/editer_article.php
create mode 100644 www/ecrire/action/editer_auteur.php
create mode 100644 www/ecrire/action/editer_auteurs.php
create mode 100644 www/ecrire/action/editer_breve.php
create mode 100644 www/ecrire/action/editer_groupe_mot.php
create mode 100644 www/ecrire/action/editer_message.php
create mode 100644 www/ecrire/action/editer_mot.php
create mode 100644 www/ecrire/action/editer_mots.php
create mode 100644 www/ecrire/action/editer_rubrique.php
create mode 100644 www/ecrire/action/editer_signatures.php
create mode 100644 www/ecrire/action/editer_site.php
create mode 100644 www/ecrire/action/editer_url.php
create mode 100644 www/ecrire/action/export_all.php
create mode 100644 www/ecrire/action/iconifier.php
create mode 100644 www/ecrire/action/index.php
create mode 100644 www/ecrire/action/instituer_article.php
create mode 100644 www/ecrire/action/instituer_auteur.php
create mode 100644 www/ecrire/action/instituer_breve.php
create mode 100644 www/ecrire/action/instituer_collaboration.php
create mode 100644 www/ecrire/action/instituer_forum.php
create mode 100644 www/ecrire/action/instituer_groupe_mots.php
create mode 100644 www/ecrire/action/instituer_langue_rubrique.php
create mode 100644 www/ecrire/action/instituer_rubrique_breves.php
create mode 100644 www/ecrire/action/instituer_site.php
create mode 100644 www/ecrire/action/instituer_syndic.php
create mode 100644 www/ecrire/action/joindre.php
create mode 100644 www/ecrire/action/legender.php
create mode 100644 www/ecrire/action/logout.php
create mode 100644 www/ecrire/action/petitionner.php
create mode 100644 www/ecrire/action/poster_forum_prive.php
create mode 100644 www/ecrire/action/preferer.php
create mode 100644 www/ecrire/action/purger.php
create mode 100644 www/ecrire/action/redirect.php
create mode 100644 www/ecrire/action/referencer_traduction.php
create mode 100644 www/ecrire/action/regler_moderation.php
create mode 100644 www/ecrire/action/reorganiser.php
create mode 100644 www/ecrire/action/supprimer.php
create mode 100644 www/ecrire/action/supprimer_document.php
create mode 100644 www/ecrire/action/supprimer_traduction.php
create mode 100644 www/ecrire/action/tester.php
create mode 100644 www/ecrire/action/tester_taille.php
create mode 100644 www/ecrire/action/tourner.php
create mode 100644 www/ecrire/action/virtualiser.php
create mode 100644 www/ecrire/auth/ldap.php
create mode 100644 www/ecrire/auth/sha256.inc.php
create mode 100644 www/ecrire/auth/spip.php
create mode 100644 www/ecrire/balise/formulaire_.php
create mode 100644 www/ecrire/balise/formulaire_admin.php
create mode 100644 www/ecrire/balise/formulaire_ecrire_auteur.php
create mode 100644 www/ecrire/balise/formulaire_forum.php
create mode 100644 www/ecrire/balise/formulaire_inscription.php
create mode 100644 www/ecrire/balise/formulaire_recherche.php
create mode 100644 www/ecrire/balise/formulaire_signature.php
create mode 100644 www/ecrire/balise/formulaire_site.php
create mode 100644 www/ecrire/balise/index.php
create mode 100644 www/ecrire/balise/login_prive.php
create mode 100644 www/ecrire/balise/login_public.php
create mode 100644 www/ecrire/balise/logo_.php
create mode 100644 www/ecrire/balise/menu_lang.php
create mode 100644 www/ecrire/balise/menu_lang_ecrire.php
create mode 100644 www/ecrire/balise/url_.php
create mode 100644 www/ecrire/balise/url_logout.php
create mode 100644 www/ecrire/base/abstract_sql.php
create mode 100644 www/ecrire/base/admin_repair.php
create mode 100644 www/ecrire/base/auxiliaires.php
create mode 100644 www/ecrire/base/connect_sql.php
create mode 100644 www/ecrire/base/convert_sql_utf8.php
create mode 100644 www/ecrire/base/convert_utf8.php
create mode 100644 www/ecrire/base/create.php
create mode 100644 www/ecrire/base/delete_all.php
create mode 100644 www/ecrire/base/delete_statistiques.php
create mode 100644 www/ecrire/base/dump.php
create mode 100644 www/ecrire/base/import_all.php
create mode 100644 www/ecrire/base/index.php
create mode 100644 www/ecrire/base/serial.php
create mode 100644 www/ecrire/base/trouver_table.php
create mode 100644 www/ecrire/base/typedoc.php
create mode 100644 www/ecrire/base/upgrade.php
create mode 100644 www/ecrire/charsets/cp1250.php
create mode 100644 www/ecrire/charsets/cp1251.php
create mode 100644 www/ecrire/charsets/cp1256.php
create mode 100644 www/ecrire/charsets/html.php
create mode 100644 www/ecrire/charsets/index.php
create mode 100644 www/ecrire/charsets/iso-8859-1.php
create mode 100644 www/ecrire/charsets/iso-8859-15.php
create mode 100644 www/ecrire/charsets/iso-8859-6.php
create mode 100644 www/ecrire/charsets/iso-8859-9.php
create mode 100644 www/ecrire/charsets/mathml.php
create mode 100644 www/ecrire/charsets/translit.php
create mode 100644 www/ecrire/charsets/translitcomplexe.php
create mode 100644 www/ecrire/configuration/accueil.php
create mode 100644 www/ecrire/configuration/annonces.php
create mode 100644 www/ecrire/configuration/articles.php
create mode 100644 www/ecrire/configuration/avertisseur.php
create mode 100644 www/ecrire/configuration/breves.php
create mode 100644 www/ecrire/configuration/compresseur.php
create mode 100644 www/ecrire/configuration/compteur.php
create mode 100644 www/ecrire/configuration/contenu_forums.php
create mode 100644 www/ecrire/configuration/documents.php
create mode 100644 www/ecrire/configuration/forums_prives.php
create mode 100644 www/ecrire/configuration/futurs.php
create mode 100644 www/ecrire/configuration/index.php
create mode 100644 www/ecrire/configuration/indexeur.php
create mode 100644 www/ecrire/configuration/langue.php
create mode 100644 www/ecrire/configuration/locuteur.php
create mode 100644 www/ecrire/configuration/logos.php
create mode 100644 www/ecrire/configuration/messagerie_agenda.php
create mode 100644 www/ecrire/configuration/mots.php
create mode 100644 www/ecrire/configuration/notifications_forum.php
create mode 100644 www/ecrire/configuration/participants.php
create mode 100644 www/ecrire/configuration/previsualiseur.php
create mode 100644 www/ecrire/configuration/redacteurs.php
create mode 100644 www/ecrire/configuration/redirection.php
create mode 100644 www/ecrire/configuration/reducteur.php
create mode 100644 www/ecrire/configuration/referenceur.php
create mode 100644 www/ecrire/configuration/relayeur.php
create mode 100644 www/ecrire/configuration/rubriques.php
create mode 100644 www/ecrire/configuration/syndications.php
create mode 100644 www/ecrire/configuration/transcodeur.php
create mode 100644 www/ecrire/configuration/type_urls.php
create mode 100644 www/ecrire/configuration/versionneur.php
create mode 100644 www/ecrire/configuration/visiteurs.php
create mode 100644 www/ecrire/exec/404.php
create mode 100644 www/ecrire/exec/accueil.php
create mode 100644 www/ecrire/exec/admin_declarer.php
create mode 100644 www/ecrire/exec/admin_effacer.php
create mode 100644 www/ecrire/exec/admin_plugin.php
create mode 100644 www/ecrire/exec/admin_repair.php
create mode 100644 www/ecrire/exec/admin_tech.php
create mode 100644 www/ecrire/exec/admin_vider.php
create mode 100644 www/ecrire/exec/aide_index.php
create mode 100644 www/ecrire/exec/articles.php
create mode 100644 www/ecrire/exec/articles_edit.php
create mode 100644 www/ecrire/exec/articles_forum.php
create mode 100644 www/ecrire/exec/articles_page.php
create mode 100644 www/ecrire/exec/articles_tous.php
create mode 100644 www/ecrire/exec/articles_versions.php
create mode 100644 www/ecrire/exec/auteur_infos.php
create mode 100644 www/ecrire/exec/auteurs.php
create mode 100644 www/ecrire/exec/breves.php
create mode 100644 www/ecrire/exec/breves_edit.php
create mode 100644 www/ecrire/exec/breves_voir.php
create mode 100644 www/ecrire/exec/brouteur.php
create mode 100644 www/ecrire/exec/brouteur_frame.php
create mode 100644 www/ecrire/exec/calendrier.php
create mode 100644 www/ecrire/exec/charger_plugin.php
create mode 100644 www/ecrire/exec/config_contenu.php
create mode 100644 www/ecrire/exec/config_fonctions.php
create mode 100644 www/ecrire/exec/config_lang.php
create mode 100644 www/ecrire/exec/config_multilang.php
create mode 100644 www/ecrire/exec/configuration.php
create mode 100644 www/ecrire/exec/configurer.php
create mode 100644 www/ecrire/exec/configurer_notifications_forum.php
create mode 100644 www/ecrire/exec/configurer_previsualiseur.php
create mode 100644 www/ecrire/exec/configurer_relayeur.php
create mode 100644 www/ecrire/exec/controle_forum.php
create mode 100644 www/ecrire/exec/controle_petition.php
create mode 100644 www/ecrire/exec/convert_sql_utf8.php
create mode 100644 www/ecrire/exec/convert_utf8.php
create mode 100644 www/ecrire/exec/copier_local.php
create mode 100644 www/ecrire/exec/dater.php
create mode 100644 www/ecrire/exec/delete_all.php
create mode 100644 www/ecrire/exec/delete_statistiques.php
create mode 100644 www/ecrire/exec/demande_mise_a_jour.php
create mode 100644 www/ecrire/exec/discuter.php
create mode 100644 www/ecrire/exec/documenter.php
create mode 100644 www/ecrire/exec/documents_colonne.php
create mode 100644 www/ecrire/exec/documents_liste.php
create mode 100644 www/ecrire/exec/editer_auteurs.php
create mode 100644 www/ecrire/exec/editer_mots.php
create mode 100644 www/ecrire/exec/export_all.php
create mode 100644 www/ecrire/exec/fond.php
create mode 100644 www/ecrire/exec/forum.php
create mode 100644 www/ecrire/exec/forum_admin.php
create mode 100644 www/ecrire/exec/grouper_mots.php
create mode 100644 www/ecrire/exec/iconifier.php
create mode 100644 www/ecrire/exec/import_all.php
create mode 100644 www/ecrire/exec/index.php
create mode 100644 www/ecrire/exec/info_plugin.php
create mode 100644 www/ecrire/exec/info_plugin_distant.php
create mode 100644 www/ecrire/exec/informer.php
create mode 100644 www/ecrire/exec/informer_auteur.php
create mode 100644 www/ecrire/exec/install.php
create mode 100644 www/ecrire/exec/instituer_auteur.php
create mode 100644 www/ecrire/exec/lang_raccourcis.php
create mode 100644 www/ecrire/exec/legender.php
create mode 100644 www/ecrire/exec/meme_rubrique.php
create mode 100644 www/ecrire/exec/memoriser.php
create mode 100644 www/ecrire/exec/menu_agenda.php
create mode 100644 www/ecrire/exec/menu_navigation.php
create mode 100644 www/ecrire/exec/menu_rubriques.php
create mode 100644 www/ecrire/exec/message.php
create mode 100644 www/ecrire/exec/message_edit.php
create mode 100644 www/ecrire/exec/messagerie.php
create mode 100644 www/ecrire/exec/mots_edit.php
create mode 100644 www/ecrire/exec/mots_tous.php
create mode 100644 www/ecrire/exec/mots_type.php
create mode 100644 www/ecrire/exec/naviguer.php
create mode 100644 www/ecrire/exec/petitionner.php
create mode 100644 www/ecrire/exec/plonger.php
create mode 100644 www/ecrire/exec/poster_forum_prive.php
create mode 100644 www/ecrire/exec/puce_statut.php
create mode 100644 www/ecrire/exec/recherche.php
create mode 100644 www/ecrire/exec/rechercher.php
create mode 100644 www/ecrire/exec/rechercher_auteur.php
create mode 100644 www/ecrire/exec/referencer_traduction.php
create mode 100644 www/ecrire/exec/regler_moderation.php
create mode 100644 www/ecrire/exec/rubriques_edit.php
create mode 100644 www/ecrire/exec/selectionner.php
create mode 100644 www/ecrire/exec/selectionner_auteur.php
create mode 100644 www/ecrire/exec/sites.php
create mode 100644 www/ecrire/exec/sites_edit.php
create mode 100644 www/ecrire/exec/sites_tous.php
create mode 100644 www/ecrire/exec/statistiques_lang.php
create mode 100644 www/ecrire/exec/statistiques_referers.php
create mode 100644 www/ecrire/exec/statistiques_repartition.php
create mode 100644 www/ecrire/exec/statistiques_visites.php
create mode 100644 www/ecrire/exec/suivi_revisions.php
create mode 100644 www/ecrire/exec/synchro.php
create mode 100644 www/ecrire/exec/tourner.php
create mode 100644 www/ecrire/exec/upgrade.php
create mode 100644 www/ecrire/exec/valider_xml.php
create mode 100644 www/ecrire/exec/virtualiser.php
create mode 100644 www/ecrire/genie/mail.php
create mode 100644 www/ecrire/genie/maintenance.php
create mode 100644 www/ecrire/genie/mise_a_jour.php
create mode 100644 www/ecrire/genie/optimiser.php
create mode 100644 www/ecrire/genie/popularites.php
create mode 100644 www/ecrire/genie/syndic.php
create mode 100644 www/ecrire/genie/visites.php
create mode 100644 www/ecrire/gnu_lgpl_fr.txt
create mode 100644 www/ecrire/gpl_fr.txt
create mode 100644 www/ecrire/inc/acces.php
create mode 100644 www/ecrire/inc/actions.php
create mode 100644 www/ecrire/inc/admin.php
create mode 100644 www/ecrire/inc/afficher_objets.php
create mode 100644 www/ecrire/inc/agenda.php
create mode 100644 www/ecrire/inc/aider.php
create mode 100644 www/ecrire/inc/ajouter_documents.php
create mode 100644 www/ecrire/inc/article_select.php
create mode 100644 www/ecrire/inc/auteur_infos.php
create mode 100644 www/ecrire/inc/auth.php
create mode 100644 www/ecrire/inc/autoriser.php
create mode 100644 www/ecrire/inc/bandeau.php
create mode 100644 www/ecrire/inc/boutons.php
create mode 100644 www/ecrire/inc/charger_php_extension.php
create mode 100644 www/ecrire/inc/charger_plugin.php
create mode 100644 www/ecrire/inc/charsets.php
create mode 100644 www/ecrire/inc/chercher_logo.php
create mode 100644 www/ecrire/inc/chercher_rubrique.php
create mode 100644 www/ecrire/inc/commencer_page.php
create mode 100644 www/ecrire/inc/config.php
create mode 100644 www/ecrire/inc/cookie.php
create mode 100644 www/ecrire/inc/couleurs.php
create mode 100644 www/ecrire/inc/date.php
create mode 100644 www/ecrire/inc/dater.php
create mode 100644 www/ecrire/inc/diff.php
create mode 100644 www/ecrire/inc/discuter.php
create mode 100644 www/ecrire/inc/distant.php
create mode 100644 www/ecrire/inc/documenter.php
create mode 100644 www/ecrire/inc/documenter_objet.php
create mode 100644 www/ecrire/inc/documents.php
create mode 100644 www/ecrire/inc/drapeau_edition.php
create mode 100644 www/ecrire/inc/editer.php
create mode 100644 www/ecrire/inc/editer_auteurs.php
create mode 100644 www/ecrire/inc/editer_mots.php
create mode 100644 www/ecrire/inc/envoyer_mail.php
create mode 100644 www/ecrire/inc/export.php
create mode 100644 www/ecrire/inc/feedfinder.php
create mode 100644 www/ecrire/inc/filtres.php
create mode 100644 www/ecrire/inc/filtres_images_lib_mini.php
create mode 100644 www/ecrire/inc/filtres_images_mini.php
create mode 100644 www/ecrire/inc/filtres_mime.php
create mode 100644 www/ecrire/inc/filtres_mini.php
create mode 100644 www/ecrire/inc/flock.php
create mode 100644 www/ecrire/inc/formater_article.php
create mode 100644 www/ecrire/inc/formater_auteur.php
create mode 100644 www/ecrire/inc/forum.php
create mode 100644 www/ecrire/inc/forum_envoi.php
create mode 100644 www/ecrire/inc/forum_insert.php
create mode 100644 www/ecrire/inc/gadgets.php
create mode 100644 www/ecrire/inc/genie.php
create mode 100644 www/ecrire/inc/getdocument.php
create mode 100644 www/ecrire/inc/grouper_mots.php
create mode 100644 www/ecrire/inc/headers.php
create mode 100644 www/ecrire/inc/iconifier.php
create mode 100644 www/ecrire/inc/import.php
create mode 100644 www/ecrire/inc/import_0_0.php
create mode 100644 www/ecrire/inc/import_1_2.php
create mode 100644 www/ecrire/inc/import_1_3.php
create mode 100644 www/ecrire/inc/import_insere.php
create mode 100644 www/ecrire/inc/index.php
create mode 100644 www/ecrire/inc/informer.php
create mode 100644 www/ecrire/inc/informer_auteur.php
create mode 100644 www/ecrire/inc/install.php
create mode 100644 www/ecrire/inc/instituer_article.php
create mode 100644 www/ecrire/inc/instituer_auteur.php
create mode 100644 www/ecrire/inc/instituer_breve.php
create mode 100644 www/ecrire/inc/instituer_site.php
create mode 100644 www/ecrire/inc/invalideur.php
create mode 100644 www/ecrire/inc/joindre.php
create mode 100644 www/ecrire/inc/json.php
create mode 100644 www/ecrire/inc/lang.php
create mode 100644 www/ecrire/inc/lang_liste.php
create mode 100644 www/ecrire/inc/layer.php
create mode 100644 www/ecrire/inc/legender.php
create mode 100644 www/ecrire/inc/lien.php
create mode 100644 www/ecrire/inc/lien_court.php
create mode 100644 www/ecrire/inc/log.php
create mode 100644 www/ecrire/inc/mail.php
create mode 100644 www/ecrire/inc/math.php
create mode 100644 www/ecrire/inc/meme_rubrique.php
create mode 100644 www/ecrire/inc/message_select.php
create mode 100644 www/ecrire/inc/meta.php
create mode 100644 www/ecrire/inc/minipres.php
create mode 100644 www/ecrire/inc/modifier.php
create mode 100644 www/ecrire/inc/mots.php
create mode 100644 www/ecrire/inc/nfslock.php
create mode 100644 www/ecrire/inc/notes.php
create mode 100644 www/ecrire/inc/notifications.php
create mode 100644 www/ecrire/inc/pclzip.php
create mode 100644 www/ecrire/inc/petitionner.php
create mode 100644 www/ecrire/inc/php3.php
create mode 100644 www/ecrire/inc/plonger.php
create mode 100644 www/ecrire/inc/plugin.php
create mode 100644 www/ecrire/inc/prepare_recherche.php
create mode 100644 www/ecrire/inc/presentation.php
create mode 100644 www/ecrire/inc/presenter_enfants.php
create mode 100644 www/ecrire/inc/presenter_liste.php
create mode 100644 www/ecrire/inc/puce_statut.php
create mode 100644 www/ecrire/inc/rechercher.php
create mode 100644 www/ecrire/inc/referencer_traduction.php
create mode 100644 www/ecrire/inc/referenceurs.php
create mode 100644 www/ecrire/inc/regler_moderation.php
create mode 100644 www/ecrire/inc/revisions.php
create mode 100644 www/ecrire/inc/rubriques.php
create mode 100644 www/ecrire/inc/securiser_action.php
create mode 100644 www/ecrire/inc/selectionner.php
create mode 100644 www/ecrire/inc/selectionner_auteur.php
create mode 100644 www/ecrire/inc/session.php
create mode 100644 www/ecrire/inc/signatures.php
create mode 100644 www/ecrire/inc/site.php
create mode 100644 www/ecrire/inc/statistiques.php
create mode 100644 www/ecrire/inc/suivi_versions.php
create mode 100644 www/ecrire/inc/surligne.php
create mode 100644 www/ecrire/inc/syndic.php
create mode 100644 www/ecrire/inc/texte.php
create mode 100644 www/ecrire/inc/tourner.php
create mode 100644 www/ecrire/inc/traduire.php
create mode 100644 www/ecrire/inc/urls.php
create mode 100644 www/ecrire/inc/utils.php
create mode 100644 www/ecrire/inc/vieilles_defs.php
create mode 100644 www/ecrire/inc/vignette.php
create mode 100644 www/ecrire/inc/virtualiser.php
create mode 100644 www/ecrire/inc/xml.php
create mode 100644 www/ecrire/inc_version.php
create mode 100644 www/ecrire/index.php
create mode 100644 www/ecrire/install/etape_.php
create mode 100644 www/ecrire/install/etape_1.php
create mode 100644 www/ecrire/install/etape_2.php
create mode 100644 www/ecrire/install/etape_3.php
create mode 100644 www/ecrire/install/etape_3b.php
create mode 100644 www/ecrire/install/etape_4.php
create mode 100644 www/ecrire/install/etape_chmod.php
create mode 100644 www/ecrire/install/etape_fin.php
create mode 100644 www/ecrire/install/etape_ldap1.php
create mode 100644 www/ecrire/install/etape_ldap2.php
create mode 100644 www/ecrire/install/etape_ldap3.php
create mode 100644 www/ecrire/install/etape_ldap4.php
create mode 100644 www/ecrire/install/etape_ldap5.php
create mode 100644 www/ecrire/install/etape_sup1.php
create mode 100644 www/ecrire/install/etape_sup2.php
create mode 100644 www/ecrire/install/index.php
create mode 100644 www/ecrire/lang/ecrire_ar.php
create mode 100644 www/ecrire/lang/ecrire_ast.php
create mode 100644 www/ecrire/lang/ecrire_bg.php
create mode 100644 www/ecrire/lang/ecrire_br.php
create mode 100644 www/ecrire/lang/ecrire_bs.php
create mode 100644 www/ecrire/lang/ecrire_ca.php
create mode 100644 www/ecrire/lang/ecrire_cpf.php
create mode 100644 www/ecrire/lang/ecrire_cpf_hat.php
create mode 100644 www/ecrire/lang/ecrire_cs.php
create mode 100644 www/ecrire/lang/ecrire_da.php
create mode 100644 www/ecrire/lang/ecrire_de.php
create mode 100644 www/ecrire/lang/ecrire_en.php
create mode 100644 www/ecrire/lang/ecrire_eo.php
create mode 100644 www/ecrire/lang/ecrire_es.php
create mode 100644 www/ecrire/lang/ecrire_eu.php
create mode 100644 www/ecrire/lang/ecrire_fa.php
create mode 100644 www/ecrire/lang/ecrire_fon.php
create mode 100644 www/ecrire/lang/ecrire_fr.php
create mode 100644 www/ecrire/lang/ecrire_gl.php
create mode 100644 www/ecrire/lang/ecrire_hu.php
create mode 100644 www/ecrire/lang/ecrire_id.php
create mode 100644 www/ecrire/lang/ecrire_it.php
create mode 100644 www/ecrire/lang/ecrire_it_fem.php
create mode 100644 www/ecrire/lang/ecrire_ja.php
create mode 100644 www/ecrire/lang/ecrire_km.php
create mode 100644 www/ecrire/lang/ecrire_lb.php
create mode 100644 www/ecrire/lang/ecrire_my.php
create mode 100644 www/ecrire/lang/ecrire_nl.php
create mode 100644 www/ecrire/lang/ecrire_oc_auv.php
create mode 100644 www/ecrire/lang/ecrire_oc_gsc.php
create mode 100644 www/ecrire/lang/ecrire_oc_lms.php
create mode 100644 www/ecrire/lang/ecrire_oc_lnc.php
create mode 100644 www/ecrire/lang/ecrire_oc_ni.php
create mode 100644 www/ecrire/lang/ecrire_oc_ni_la.php
create mode 100644 www/ecrire/lang/ecrire_oc_prv.php
create mode 100644 www/ecrire/lang/ecrire_oc_va.php
create mode 100644 www/ecrire/lang/ecrire_pl.php
create mode 100644 www/ecrire/lang/ecrire_pt.php
create mode 100644 www/ecrire/lang/ecrire_pt_br.php
create mode 100644 www/ecrire/lang/ecrire_ro.php
create mode 100644 www/ecrire/lang/ecrire_ru.php
create mode 100644 www/ecrire/lang/ecrire_sv.php
create mode 100644 www/ecrire/lang/ecrire_tr.php
create mode 100644 www/ecrire/lang/ecrire_vi.php
create mode 100644 www/ecrire/lang/ecrire_zh.php
create mode 100644 www/ecrire/lang/index.php
create mode 100644 www/ecrire/lang/public_ar.php
create mode 100644 www/ecrire/lang/public_ast.php
create mode 100644 www/ecrire/lang/public_bg.php
create mode 100644 www/ecrire/lang/public_br.php
create mode 100644 www/ecrire/lang/public_bs.php
create mode 100644 www/ecrire/lang/public_ca.php
create mode 100644 www/ecrire/lang/public_cpf.php
create mode 100644 www/ecrire/lang/public_cpf_hat.php
create mode 100644 www/ecrire/lang/public_cs.php
create mode 100644 www/ecrire/lang/public_da.php
create mode 100644 www/ecrire/lang/public_de.php
create mode 100644 www/ecrire/lang/public_en.php
create mode 100644 www/ecrire/lang/public_eo.php
create mode 100644 www/ecrire/lang/public_es.php
create mode 100644 www/ecrire/lang/public_eu.php
create mode 100644 www/ecrire/lang/public_fa.php
create mode 100644 www/ecrire/lang/public_fon.php
create mode 100644 www/ecrire/lang/public_fr.php
create mode 100644 www/ecrire/lang/public_gl.php
create mode 100644 www/ecrire/lang/public_hu.php
create mode 100644 www/ecrire/lang/public_id.php
create mode 100644 www/ecrire/lang/public_it.php
create mode 100644 www/ecrire/lang/public_it_fem.php
create mode 100644 www/ecrire/lang/public_ja.php
create mode 100644 www/ecrire/lang/public_km.php
create mode 100644 www/ecrire/lang/public_lb.php
create mode 100644 www/ecrire/lang/public_my.php
create mode 100644 www/ecrire/lang/public_nl.php
create mode 100644 www/ecrire/lang/public_oc_auv.php
create mode 100644 www/ecrire/lang/public_oc_gsc.php
create mode 100644 www/ecrire/lang/public_oc_lms.php
create mode 100644 www/ecrire/lang/public_oc_lnc.php
create mode 100644 www/ecrire/lang/public_oc_ni.php
create mode 100644 www/ecrire/lang/public_oc_ni_la.php
create mode 100644 www/ecrire/lang/public_oc_prv.php
create mode 100644 www/ecrire/lang/public_oc_va.php
create mode 100644 www/ecrire/lang/public_pl.php
create mode 100644 www/ecrire/lang/public_pt.php
create mode 100644 www/ecrire/lang/public_pt_br.php
create mode 100644 www/ecrire/lang/public_ro.php
create mode 100644 www/ecrire/lang/public_ru.php
create mode 100644 www/ecrire/lang/public_sv.php
create mode 100644 www/ecrire/lang/public_tr.php
create mode 100644 www/ecrire/lang/public_vi.php
create mode 100644 www/ecrire/lang/public_zh.php
create mode 100644 www/ecrire/lang/spip_ar.php
create mode 100644 www/ecrire/lang/spip_ast.php
create mode 100644 www/ecrire/lang/spip_bg.php
create mode 100644 www/ecrire/lang/spip_br.php
create mode 100644 www/ecrire/lang/spip_bs.php
create mode 100644 www/ecrire/lang/spip_ca.php
create mode 100644 www/ecrire/lang/spip_cpf.php
create mode 100644 www/ecrire/lang/spip_cpf_hat.php
create mode 100644 www/ecrire/lang/spip_cs.php
create mode 100644 www/ecrire/lang/spip_da.php
create mode 100644 www/ecrire/lang/spip_de.php
create mode 100644 www/ecrire/lang/spip_en.php
create mode 100644 www/ecrire/lang/spip_eo.php
create mode 100644 www/ecrire/lang/spip_es.php
create mode 100644 www/ecrire/lang/spip_eu.php
create mode 100644 www/ecrire/lang/spip_fa.php
create mode 100644 www/ecrire/lang/spip_fon.php
create mode 100644 www/ecrire/lang/spip_fr.php
create mode 100644 www/ecrire/lang/spip_gl.php
create mode 100644 www/ecrire/lang/spip_hu.php
create mode 100644 www/ecrire/lang/spip_id.php
create mode 100644 www/ecrire/lang/spip_it.php
create mode 100644 www/ecrire/lang/spip_it_fem.php
create mode 100644 www/ecrire/lang/spip_ja.php
create mode 100644 www/ecrire/lang/spip_km.php
create mode 100644 www/ecrire/lang/spip_lb.php
create mode 100644 www/ecrire/lang/spip_my.php
create mode 100644 www/ecrire/lang/spip_nl.php
create mode 100644 www/ecrire/lang/spip_oc_auv.php
create mode 100644 www/ecrire/lang/spip_oc_gsc.php
create mode 100644 www/ecrire/lang/spip_oc_lms.php
create mode 100644 www/ecrire/lang/spip_oc_lnc.php
create mode 100644 www/ecrire/lang/spip_oc_ni.php
create mode 100644 www/ecrire/lang/spip_oc_ni_la.php
create mode 100644 www/ecrire/lang/spip_oc_prv.php
create mode 100644 www/ecrire/lang/spip_oc_va.php
create mode 100644 www/ecrire/lang/spip_pl.php
create mode 100644 www/ecrire/lang/spip_pt.php
create mode 100644 www/ecrire/lang/spip_pt_br.php
create mode 100644 www/ecrire/lang/spip_ro.php
create mode 100644 www/ecrire/lang/spip_ru.php
create mode 100644 www/ecrire/lang/spip_sv.php
create mode 100644 www/ecrire/lang/spip_tr.php
create mode 100644 www/ecrire/lang/spip_vi.php
create mode 100644 www/ecrire/lang/spip_zh.php
create mode 100644 www/ecrire/maj/svn10000.php
create mode 100644 www/ecrire/maj/v009.php
create mode 100644 www/ecrire/maj/v010.php
create mode 100644 www/ecrire/maj/v011.php
create mode 100644 www/ecrire/maj/v012.php
create mode 100644 www/ecrire/maj/v013.php
create mode 100644 www/ecrire/maj/v014.php
create mode 100644 www/ecrire/maj/v015.php
create mode 100644 www/ecrire/maj/v016.php
create mode 100644 www/ecrire/maj/v017.php
create mode 100644 www/ecrire/maj/v018.php
create mode 100644 www/ecrire/maj/v019.php
create mode 100644 www/ecrire/maj/v019_pre193.php
create mode 100644 www/ecrire/maj/vieille_base/10000/auxiliaires.php
create mode 100644 www/ecrire/maj/vieille_base/10000/create.php
create mode 100644 www/ecrire/maj/vieille_base/10000/serial.php
create mode 100644 www/ecrire/maj/vieille_base/10000/typedoc.php
create mode 100644 www/ecrire/maj/vieille_base/13000/auxiliaires.php
create mode 100644 www/ecrire/maj/vieille_base/13000/create.php
create mode 100644 www/ecrire/maj/vieille_base/13000/serial.php
create mode 100644 www/ecrire/maj/vieille_base/13000/typedoc.php
create mode 100644 www/ecrire/maj/vieille_base/1813/create.php
create mode 100644 www/ecrire/maj/vieille_base/1813/inc_auxbase.php
create mode 100644 www/ecrire/maj/vieille_base/1813/inc_serialbase.php
create mode 100644 www/ecrire/maj/vieille_base/1813/inc_typebase.php
create mode 100644 www/ecrire/maj/vieille_base/1821/create.php
create mode 100644 www/ecrire/maj/vieille_base/1821/inc_auxbase.php
create mode 100644 www/ecrire/maj/vieille_base/1821/inc_serialbase.php
create mode 100644 www/ecrire/maj/vieille_base/1821/inc_typebase.php
create mode 100644 www/ecrire/maj/vieille_base/1915/auxiliaires.php
create mode 100644 www/ecrire/maj/vieille_base/1915/create.php
create mode 100644 www/ecrire/maj/vieille_base/1915/serial.php
create mode 100644 www/ecrire/maj/vieille_base/1915/typedoc.php
create mode 100644 www/ecrire/maj/vieille_base/1917/auxiliaires.php
create mode 100644 www/ecrire/maj/vieille_base/1917/create.php
create mode 100644 www/ecrire/maj/vieille_base/1917/serial.php
create mode 100644 www/ecrire/maj/vieille_base/1917/typedoc.php
create mode 100644 www/ecrire/maj/vieille_base/1927/auxiliaires.php
create mode 100644 www/ecrire/maj/vieille_base/1927/create.php
create mode 100644 www/ecrire/maj/vieille_base/1927/serial.php
create mode 100644 www/ecrire/maj/vieille_base/1927/typedoc.php
create mode 100644 www/ecrire/maj/vieille_base/charger.php
create mode 100644 www/ecrire/maj/vieille_base/create.php
create mode 100644 www/ecrire/notifications/article_propose.html
create mode 100644 www/ecrire/notifications/article_publie.html
create mode 100644 www/ecrire/notifications/article_valide.html
create mode 100644 www/ecrire/notifications/forum_poste.html
create mode 100644 www/ecrire/notifications/forumposte.php
create mode 100644 www/ecrire/notifications/forumvalide.php
create mode 100644 www/ecrire/notifications/instituerarticle.php
create mode 100644 www/ecrire/oo/index.php
create mode 100644 www/ecrire/plugins/afficher_liste.php
create mode 100644 www/ecrire/plugins/afficher_nom_plugin.php
create mode 100644 www/ecrire/plugins/afficher_plugin.php
create mode 100644 www/ecrire/plugins/afficher_plugin_distant.php
create mode 100644 www/ecrire/plugins/afficher_repertoires.php
create mode 100644 www/ecrire/plugins/extraire_boutons.php
create mode 100644 www/ecrire/plugins/extraire_pipelines.php
create mode 100644 www/ecrire/plugins/get_infos.php
create mode 100644 www/ecrire/plugins/verifie_conformite.php
create mode 100644 www/ecrire/prive.php
create mode 100644 www/ecrire/public.php
create mode 100644 www/ecrire/public/admin.php
create mode 100644 www/ecrire/public/aiguiller.php
create mode 100644 www/ecrire/public/assembler.php
create mode 100644 www/ecrire/public/balises.php
create mode 100644 www/ecrire/public/boucles.php
create mode 100644 www/ecrire/public/cacher.php
create mode 100644 www/ecrire/public/compiler.php
create mode 100644 www/ecrire/public/composer.php
create mode 100644 www/ecrire/public/criteres.php
create mode 100644 www/ecrire/public/debusquer.php
create mode 100644 www/ecrire/public/decompiler.php
create mode 100644 www/ecrire/public/format_html.php
create mode 100644 www/ecrire/public/index.php
create mode 100644 www/ecrire/public/interfaces.php
create mode 100644 www/ecrire/public/jointures.php
create mode 100644 www/ecrire/public/normaliser.php
create mode 100644 www/ecrire/public/parametrer.php
create mode 100644 www/ecrire/public/phraser_html.php
create mode 100644 www/ecrire/public/quete.php
create mode 100644 www/ecrire/public/references.php
create mode 100644 www/ecrire/public/stats.php
create mode 100644 www/ecrire/public/styliser.php
create mode 100644 www/ecrire/public/tracer.php
create mode 100644 www/ecrire/public/vertebrer.php
create mode 100644 www/ecrire/req/mysql.php
create mode 100644 www/ecrire/req/pg.php
create mode 100644 www/ecrire/req/sqlite2.php
create mode 100644 www/ecrire/req/sqlite3.php
create mode 100644 www/ecrire/req/sqlite_fonctions.php
create mode 100644 www/ecrire/req/sqlite_generique.php
create mode 100644 www/ecrire/rien.gif
create mode 100644 www/ecrire/typographie/en.php
create mode 100644 www/ecrire/typographie/fr.php
create mode 100644 www/ecrire/typographie/index.php
create mode 100644 www/ecrire/urls/arbo.php
create mode 100644 www/ecrire/urls/generer_url_forum.php
create mode 100644 www/ecrire/urls/html.php
create mode 100644 www/ecrire/urls/index.php
create mode 100644 www/ecrire/urls/libres.php
create mode 100644 www/ecrire/urls/page.php
create mode 100644 www/ecrire/urls/propres.php
create mode 100644 www/ecrire/urls/propres2.php
create mode 100644 www/ecrire/urls/propres_qs.php
create mode 100644 www/ecrire/urls/standard.php
create mode 100644 www/ecrire/xml/analyser_dtd.php
create mode 100644 www/ecrire/xml/indenter.php
create mode 100644 www/ecrire/xml/index.php
create mode 100644 www/ecrire/xml/interfaces.php
create mode 100644 www/ecrire/xml/sax.php
create mode 100644 www/ecrire/xml/valider.php
create mode 100644 www/extensions/compresseur/compresseur_http.php
create mode 100644 www/extensions/compresseur/compresseur_pipeline.php
create mode 100644 www/extensions/compresseur/filtres/compresseur.php
create mode 100644 www/extensions/compresseur/formulaires/configurer_compresseur.html
create mode 100644 www/extensions/compresseur/formulaires/configurer_compresseur.php
create mode 100644 www/extensions/compresseur/images/compresseur-128.png
create mode 100644 www/extensions/compresseur/images/compresseur-32.png
create mode 100644 www/extensions/compresseur/inc/compresseur.php
create mode 100644 www/extensions/compresseur/lib/JavascriptPacker/class.JavaScriptPacker.php
create mode 100644 www/extensions/compresseur/plugin.xml
create mode 100644 www/extensions/compresseur/prive/configurer/compresseur.html
create mode 100644 www/extensions/compresseur/tests/compacte.html
create mode 100644 www/extensions/filtres_images/favicon.ico.html
create mode 100644 www/extensions/filtres_images/filtres/couleurs.php
create mode 100644 www/extensions/filtres_images/filtres/images_lib.php
create mode 100644 www/extensions/filtres_images/filtres/images_transforme.php
create mode 100644 www/extensions/filtres_images/filtres/images_typo.php
create mode 100644 www/extensions/filtres_images/images/image_filtre-128.png
create mode 100644 www/extensions/filtres_images/images/image_filtre-32.png
create mode 100644 www/extensions/filtres_images/images_fonctions.php
create mode 100644 www/extensions/filtres_images/inc/filtres_images.php
create mode 100644 www/extensions/filtres_images/inc/filtres_images_compat.php
create mode 100644 www/extensions/filtres_images/modeles/favicon.html
create mode 100644 www/extensions/filtres_images/plugin.xml
create mode 100644 www/extensions/filtres_images/tests/_couleur_hsl2rgb.php
create mode 100644 www/extensions/filtres_images/tests/_couleur_hsv2rgb.php
create mode 100644 www/extensions/filtres_images/tests/_couleur_rgb2hsl.php
create mode 100644 www/extensions/filtres_images/tests/_couleur_rgb2hsv.php
create mode 100644 www/extensions/filtres_images/tests/bonnetaille.html
create mode 100644 www/extensions/filtres_images/tests/couleur_extraire.php
create mode 100644 www/extensions/filtres_images/tests/degrade-bleu.jpg
create mode 100644 www/extensions/filtres_images/tests/imagesrc.html
create mode 100644 www/extensions/filtres_images/tests/imagetest.jpg
create mode 100644 www/extensions/filtres_images/tests/masque-305x85.png
create mode 100644 www/extensions/filtres_images/tests/multiple_de_trois.php
create mode 100644 www/extensions/msie_compat/action/configurer_iecompat.php
create mode 100644 www/extensions/msie_compat/configuration/ie6config.php
create mode 100644 www/extensions/msie_compat/imgs/browser-32.png
create mode 100644 www/extensions/msie_compat/javascript/IE7.js
create mode 100644 www/extensions/msie_compat/javascript/IE8.js
create mode 100644 www/extensions/msie_compat/javascript/IE9.js
create mode 100644 www/extensions/msie_compat/javascript/blank.gif
create mode 100644 www/extensions/msie_compat/javascript/ie7-recalc.js
create mode 100644 www/extensions/msie_compat/javascript/ie7-squish.js
create mode 100644 www/extensions/msie_compat/javascript/jquery.ifixpng.js
create mode 100644 www/extensions/msie_compat/lang/msiecompat_ca.php
create mode 100644 www/extensions/msie_compat/lang/msiecompat_de.php
create mode 100644 www/extensions/msie_compat/lang/msiecompat_en.php
create mode 100644 www/extensions/msie_compat/lang/msiecompat_fr.php
create mode 100644 www/extensions/msie_compat/lang/msiecompat_fr_tu.php
create mode 100644 www/extensions/msie_compat/msie_compat.php
create mode 100644 www/extensions/msie_compat/plugin.xml
create mode 100644 www/extensions/porte_plume/action/porte_plume_previsu.php
create mode 100644 www/extensions/porte_plume/barre_outils/edition.php
create mode 100644 www/extensions/porte_plume/barre_outils/forum.php
create mode 100644 www/extensions/porte_plume/barre_outils_icones.css.html
create mode 100644 www/extensions/porte_plume/configuration/porte_plume.php
create mode 100644 www/extensions/porte_plume/css/barre_outils.css
create mode 100644 www/extensions/porte_plume/css/barre_outils_prive.css
create mode 100644 www/extensions/porte_plume/css/images/handle.png
create mode 100644 www/extensions/porte_plume/css/images/menu.png
create mode 100644 www/extensions/porte_plume/css/images/submenu.png
create mode 100644 www/extensions/porte_plume/formulaires/configurer_porte_plume.html
create mode 100644 www/extensions/porte_plume/formulaires/configurer_porte_plume.php
create mode 100644 www/extensions/porte_plume/icones_barre/aelig-maj.png
create mode 100644 www/extensions/porte_plume/icones_barre/aelig.png
create mode 100644 www/extensions/porte_plume/icones_barre/agrave-maj.png
create mode 100644 www/extensions/porte_plume/icones_barre/ccedil-maj.png
create mode 100644 www/extensions/porte_plume/icones_barre/clean.png
create mode 100644 www/extensions/porte_plume/icones_barre/eacute-maj.png
create mode 100644 www/extensions/porte_plume/icones_barre/eagrave-maj.png
create mode 100644 www/extensions/porte_plume/icones_barre/eye.png
create mode 100644 www/extensions/porte_plume/icones_barre/guillemets-de.png
create mode 100644 www/extensions/porte_plume/icones_barre/guillemets-simples.png
create mode 100644 www/extensions/porte_plume/icones_barre/guillemets-uniques-de.png
create mode 100644 www/extensions/porte_plume/icones_barre/guillemets-uniques.png
create mode 100644 www/extensions/porte_plume/icones_barre/guillemets.png
create mode 100644 www/extensions/porte_plume/icones_barre/intertitre.png
create mode 100644 www/extensions/porte_plume/icones_barre/keyboard.png
create mode 100644 www/extensions/porte_plume/icones_barre/lien.png
create mode 100644 www/extensions/porte_plume/icones_barre/notes.png
create mode 100644 www/extensions/porte_plume/icones_barre/oelig-maj.png
create mode 100644 www/extensions/porte_plume/icones_barre/oelig.png
create mode 100644 www/extensions/porte_plume/icones_barre/quote.png
create mode 100644 www/extensions/porte_plume/icones_barre/spt-v1.png
create mode 100644 www/extensions/porte_plume/icones_barre/text_bold.png
create mode 100644 www/extensions/porte_plume/icones_barre/text_indent.png
create mode 100644 www/extensions/porte_plume/icones_barre/text_indent_remove.png
create mode 100644 www/extensions/porte_plume/icones_barre/text_italic.png
create mode 100644 www/extensions/porte_plume/icones_barre/text_list_bullets.png
create mode 100644 www/extensions/porte_plume/icones_barre/text_list_numbers.png
create mode 100644 www/extensions/porte_plume/icones_barre/text_lowercase.png
create mode 100644 www/extensions/porte_plume/icones_barre/text_strikethrough.png
create mode 100644 www/extensions/porte_plume/icones_barre/text_uppercase.png
create mode 100644 www/extensions/porte_plume/images/porte-plume-128.png
create mode 100644 www/extensions/porte_plume/images/porte-plume-16.png
create mode 100644 www/extensions/porte_plume/images/porte-plume-24.png
create mode 100644 www/extensions/porte_plume/images/porte-plume-48.png
create mode 100644 www/extensions/porte_plume/images/sources.txt
create mode 100644 www/extensions/porte_plume/inc/barre.php
create mode 100644 www/extensions/porte_plume/inc/barre_outils.php
create mode 100644 www/extensions/porte_plume/javascript/jquery.markitup.js
create mode 100644 www/extensions/porte_plume/javascript/jquery.markitup_pour_spip.js
create mode 100644 www/extensions/porte_plume/javascript/jquery.previsu_spip.js
create mode 100644 www/extensions/porte_plume/javascript/porte_plume_forcer_hauteur.js
create mode 100644 www/extensions/porte_plume/javascript/xregexp-min.js
create mode 100644 www/extensions/porte_plume/lang/barre_outils_ar.php
create mode 100644 www/extensions/porte_plume/lang/barre_outils_de.php
create mode 100644 www/extensions/porte_plume/lang/barre_outils_en.php
create mode 100644 www/extensions/porte_plume/lang/barre_outils_es.php
create mode 100644 www/extensions/porte_plume/lang/barre_outils_fr.php
create mode 100644 www/extensions/porte_plume/lang/barre_outils_it.php
create mode 100644 www/extensions/porte_plume/markitup/readme.txt
create mode 100644 www/extensions/porte_plume/markitup/templates/preview.css
create mode 100644 www/extensions/porte_plume/markitup/templates/preview.html
create mode 100644 www/extensions/porte_plume/plugin.xml
create mode 100644 www/extensions/porte_plume/porte_plume_pipelines.php
create mode 100644 www/extensions/porte_plume/porte_plume_start.js.html
create mode 100644 www/extensions/porte_plume/porte_plume_start.js_fonctions.php
create mode 100644 www/extensions/porte_plume/prive/configurer/porte_plume.html
create mode 100644 www/extensions/porte_plume/prive/porte_plume_preview.html
create mode 100644 www/extensions/porte_plume/prive/porte_plume_preview_fonctions.php
create mode 100644 www/extensions/porte_plume/tests/all_tests.php
create mode 100644 www/extensions/porte_plume/tests/barre_outil_markitup.php
create mode 100644 www/extensions/porte_plume/tests/lanceur_spip.php
create mode 100644 www/extensions/safehtml/images/safehtml-128.png
create mode 100644 www/extensions/safehtml/images/safehtml-32.png
create mode 100644 www/extensions/safehtml/inc/safehtml.php
create mode 100644 www/extensions/safehtml/lib/safehtml/classes/HTMLSax3.php
create mode 100644 www/extensions/safehtml/lib/safehtml/classes/HTMLSax3/Decorators.php
create mode 100644 www/extensions/safehtml/lib/safehtml/classes/HTMLSax3/States.php
create mode 100644 www/extensions/safehtml/lib/safehtml/classes/HTMLSax3/index.php
create mode 100644 www/extensions/safehtml/lib/safehtml/classes/index.php
create mode 100644 www/extensions/safehtml/lib/safehtml/classes/safehtml.php
create mode 100644 www/extensions/safehtml/lib/safehtml/index.php
create mode 100644 www/extensions/safehtml/lib/safehtml/license.txt
create mode 100644 www/extensions/safehtml/lib/safehtml/readme-SPIP.txt
create mode 100644 www/extensions/safehtml/lib/safehtml/readme.txt
create mode 100644 www/extensions/safehtml/plugin.xml
create mode 100644 www/extensions/vertebres/images/vertebres-16.png
create mode 100644 www/extensions/vertebres/images/vertebres-32.png
create mode 100644 www/extensions/vertebres/plugin.xml
create mode 100644 www/extensions/vertebres/public/vertebrer.php
create mode 100644 www/extensions/vertebres/vertebres_pipelines.php
create mode 100644 www/favicon.ico
create mode 100644 www/htaccess.txt
create mode 100644 www/index.php
create mode 100644 www/plugins/auto/.ok
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/balise/menu_lang.php
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/fonds/cfg_menu_lang_liens.html
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/formulaires/configurer_menu_lang_liens.html
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/formulaires/menu_lang.html
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/img_pack/menu_langues_liens.png
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/lang/mll_en.php
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/lang/mll_fr.php
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/lang/paquet-mll_en.php
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/lang/paquet-mll_fr.php
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/mll_options.php
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/mll_pipelines.php
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/mll_styles.css.html
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/paquet.xml
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/plugin.xml
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/prive/squelettes/contenu/configurer_mll.html
create mode 100644 www/plugins/auto/Menu_langue_lien/Menu_langue_lien/svn.revision
create mode 100644 www/plugins/auto/afficher_objets/afficher_objets-64.png
create mode 100644 www/plugins/auto/afficher_objets/afficher_objets_fonctions.php
create mode 100644 www/plugins/auto/afficher_objets/exec/auteurs.php
create mode 100644 www/plugins/auto/afficher_objets/exec/visiteurs.php
create mode 100644 www/plugins/auto/afficher_objets/inc/afficher_objets.php
create mode 100644 www/plugins/auto/afficher_objets/inc/lister_objets.php
create mode 100644 www/plugins/auto/afficher_objets/lang/afficher_objets.xml
create mode 100644 www/plugins/auto/afficher_objets/lang/afficher_objets_en.php
create mode 100644 www/plugins/auto/afficher_objets/lang/afficher_objets_fr.php
create mode 100644 www/plugins/auto/afficher_objets/lang/afficher_objets_sk.php
create mode 100644 www/plugins/auto/afficher_objets/plugin.xml
create mode 100644 www/plugins/auto/afficher_objets/prive/liste/articles.html
create mode 100644 www/plugins/auto/afficher_objets/prive/liste/auteurs.html
create mode 100644 www/plugins/auto/afficher_objets/prive/liste/breves.html
create mode 100644 www/plugins/auto/afficher_objets/prive/liste/documents.html
create mode 100644 www/plugins/auto/afficher_objets/prive/liste/syndic.html
create mode 100644 www/plugins/auto/afficher_objets/prive/liste/syndic_articles.html
create mode 100644 www/plugins/auto/afficher_objets/prive/style_prive_plugin_afficher_objets.html
create mode 100644 www/plugins/auto/afficher_objets/svn.revision
create mode 100644 www/plugins/auto/anythingslider/README.textile
create mode 100644 www/plugins/auto/anythingslider/anythingslider_pipelines.php
create mode 100644 www/plugins/auto/anythingslider/contenu/page-demoanythingslider.html
create mode 100644 www/plugins/auto/anythingslider/css/anythingslider-ie.css
create mode 100644 www/plugins/auto/anythingslider/css/anythingslider.css
create mode 100644 www/plugins/auto/anythingslider/css/theme-construction.css
create mode 100644 www/plugins/auto/anythingslider/css/theme-cs-portfolio.css
create mode 100644 www/plugins/auto/anythingslider/css/theme-metallic.css
create mode 100644 www/plugins/auto/anythingslider/css/theme-minimalist-round.css
create mode 100644 www/plugins/auto/anythingslider/css/theme-minimalist-square.css
create mode 100644 www/plugins/auto/anythingslider/css/theme-simple.css
create mode 100644 www/plugins/auto/anythingslider/formulaires/configurer_anythingslider.html
create mode 100644 www/plugins/auto/anythingslider/formulaires/configurer_anythingslider.php
create mode 100644 www/plugins/auto/anythingslider/images/anythingslider-16.png
create mode 100644 www/plugins/auto/anythingslider/images/anythingslider-24.png
create mode 100644 www/plugins/auto/anythingslider/images/anythingslider.png
create mode 100644 www/plugins/auto/anythingslider/images/arrows-metallic.png
create mode 100644 www/plugins/auto/anythingslider/images/arrows-minimalist.png
create mode 100644 www/plugins/auto/anythingslider/images/arrows-simple.png
create mode 100644 www/plugins/auto/anythingslider/images/construction.gif
create mode 100644 www/plugins/auto/anythingslider/images/cs-portfolio.png
create mode 100644 www/plugins/auto/anythingslider/images/default.png
create mode 100644 www/plugins/auto/anythingslider/images/nav-simple.png
create mode 100644 www/plugins/auto/anythingslider/images/slider-bg.png
create mode 100644 www/plugins/auto/anythingslider/js/jquery.anythingslider.fx.min.js
create mode 100644 www/plugins/auto/anythingslider/js/jquery.anythingslider.min.js
create mode 100644 www/plugins/auto/anythingslider/js/jquery.anythingslider.video.min.js
create mode 100644 www/plugins/auto/anythingslider/js/jquery.easing.1.2.js
create mode 100644 www/plugins/auto/anythingslider/js/swfobject.js
create mode 100644 www/plugins/auto/anythingslider/lang/anythingslider_fr.php
create mode 100644 www/plugins/auto/anythingslider/plugin.xml
create mode 100644 www/plugins/auto/anythingslider/prive/exec/configurer_anythingslider.html
create mode 100644 www/plugins/auto/anythingslider/saisies/themes_anythingslider.html
create mode 100644 www/plugins/auto/anythingslider/svn.revision
create mode 100644 www/plugins/auto/ariane2/Images/Chevron.gif
create mode 100644 www/plugins/auto/ariane2/Images/ChevronOverlay.png
create mode 100644 www/plugins/auto/ariane2/Images/IconHome.gif
create mode 100644 www/plugins/auto/ariane2/css/BreadCrumb.css
create mode 100644 www/plugins/auto/ariane2/head.php
create mode 100644 www/plugins/auto/ariane2/js/jquery.easing.1.3.js
create mode 100644 www/plugins/auto/ariane2/js/jquery.jBreadCrumb.1.1.js
create mode 100644 www/plugins/auto/ariane2/plugin.xml
create mode 100644 www/plugins/auto/aveline/aveline_fonctions.php
create mode 100644 www/plugins/auto/aveline/aveline_pipelines.php
create mode 100644 www/plugins/auto/aveline/base/aveline_installation.php
create mode 100644 www/plugins/auto/aveline/ieconfig/aveline-agenda.yaml
create mode 100644 www/plugins/auto/aveline/ieconfig/aveline-type-blog.yaml
create mode 100644 www/plugins/auto/aveline/ieconfig/aveline-zpip-dist.yaml
create mode 100644 www/plugins/auto/aveline/ieconfig/aveline-zpip-groupe-mots-menus.yaml
create mode 100644 www/plugins/auto/aveline/ieconfig/aveline-zpip-groupe-mots.yaml
create mode 100644 www/plugins/auto/aveline/ieconfig/aveline-zpip-secteurs-langue-menus.yaml
create mode 100644 www/plugins/auto/aveline/ieconfig/aveline-zpip-secteurs-langue.yaml
create mode 100644 www/plugins/auto/aveline/img/arrow_box.png
create mode 100644 www/plugins/auto/aveline/img/aveline-128.png
create mode 100644 www/plugins/auto/aveline/img/aveline-24.png
create mode 100644 www/plugins/auto/aveline/img/aveline-32.png
create mode 100644 www/plugins/auto/aveline/img/aveline-48.png
create mode 100644 www/plugins/auto/aveline/img/aveline-64.png
create mode 100644 www/plugins/auto/aveline/img/ic_401.png
create mode 100644 www/plugins/auto/aveline/img/ic_4012.png
create mode 100644 www/plugins/auto/aveline/img/ic_404.png
create mode 100644 www/plugins/auto/aveline/img/ic_4042.png
create mode 100644 www/plugins/auto/aveline/img/ic_accueil.png
create mode 100644 www/plugins/auto/aveline/img/ic_accueil2.png
create mode 100644 www/plugins/auto/aveline/img/ic_administration.png
create mode 100644 www/plugins/auto/aveline/img/ic_aide.png
create mode 100644 www/plugins/auto/aveline/img/ic_annonce.png
create mode 100644 www/plugins/auto/aveline/img/ic_ariane.png
create mode 100644 www/plugins/auto/aveline/img/ic_ariane_2.png
create mode 100644 www/plugins/auto/aveline/img/ic_article.png
create mode 100644 www/plugins/auto/aveline/img/ic_article2.png
create mode 100644 www/plugins/auto/aveline/img/ic_auteur.png
create mode 100644 www/plugins/auto/aveline/img/ic_auteur2.png
create mode 100644 www/plugins/auto/aveline/img/ic_boussole.png
create mode 100644 www/plugins/auto/aveline/img/ic_boussole2.png
create mode 100644 www/plugins/auto/aveline/img/ic_breve.png
create mode 100644 www/plugins/auto/aveline/img/ic_breve2.png
create mode 100644 www/plugins/auto/aveline/img/ic_cadenas.png
create mode 100644 www/plugins/auto/aveline/img/ic_calendrier.png
create mode 100644 www/plugins/auto/aveline/img/ic_calendrier2.png
create mode 100644 www/plugins/auto/aveline/img/ic_configuration.png
create mode 100644 www/plugins/auto/aveline/img/ic_configuration2.png
create mode 100644 www/plugins/auto/aveline/img/ic_contact.png
create mode 100644 www/plugins/auto/aveline/img/ic_document.png
create mode 100644 www/plugins/auto/aveline/img/ic_document2.png
create mode 100644 www/plugins/auto/aveline/img/ic_edition.png
create mode 100644 www/plugins/auto/aveline/img/ic_forum.png
create mode 100644 www/plugins/auto/aveline/img/ic_forum2.png
create mode 100644 www/plugins/auto/aveline/img/ic_groupe_mots.png
create mode 100644 www/plugins/auto/aveline/img/ic_information.png
create mode 100644 www/plugins/auto/aveline/img/ic_menu_rubriques.png
create mode 100644 www/plugins/auto/aveline/img/ic_menu_secteurlangue.png
create mode 100644 www/plugins/auto/aveline/img/ic_message.png
create mode 100644 www/plugins/auto/aveline/img/ic_mot.png
create mode 100644 www/plugins/auto/aveline/img/ic_mot2.png
create mode 100644 www/plugins/auto/aveline/img/ic_motdepasse.png
create mode 100644 www/plugins/auto/aveline/img/ic_motdepasse2.png
create mode 100644 www/plugins/auto/aveline/img/ic_petition.png
create mode 100644 www/plugins/auto/aveline/img/ic_petition2.png
create mode 100644 www/plugins/auto/aveline/img/ic_portfolio.png
create mode 100644 www/plugins/auto/aveline/img/ic_poubelle.png
create mode 100644 www/plugins/auto/aveline/img/ic_publication.png
create mode 100644 www/plugins/auto/aveline/img/ic_reaction.png
create mode 100644 www/plugins/auto/aveline/img/ic_recherche.png
create mode 100644 www/plugins/auto/aveline/img/ic_rubrique.png
create mode 100644 www/plugins/auto/aveline/img/ic_rubrique2.png
create mode 100644 www/plugins/auto/aveline/img/ic_rubrique_secteur_langue.png
create mode 100644 www/plugins/auto/aveline/img/ic_site.png
create mode 100644 www/plugins/auto/aveline/img/ic_site2.png
create mode 100644 www/plugins/auto/aveline/img/ic_slider.png
create mode 100644 www/plugins/auto/aveline/img/ic_statistique.png
create mode 100644 www/plugins/auto/aveline/img/ic_suivant_precedent.png
create mode 100644 www/plugins/auto/aveline/img/ic_synchro.png
create mode 100644 www/plugins/auto/aveline/img/ic_syndic_article.png
create mode 100644 www/plugins/auto/aveline/img/ic_warning.png
create mode 100644 www/plugins/auto/aveline/img/simple_box.png
create mode 100644 www/plugins/auto/aveline/inc-yaml/anythingslider-options.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/branche-article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/branche-breve.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/branche-evenement.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/branche-site.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/branche-syndic_article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/choix_periode-evenement.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/choix_tri-article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/choix_tri-auteur.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/choix_tri-breve.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/choix_tri-evenement.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/choix_tri-rubrique.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/exclure_objet_en_cours-article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/exclure_objet_en_cours-auteur.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/exclure_objet_en_cours-breve.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/exclure_objet_en_cours-evenement.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/exclure_objet_en_cours-site.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/filtrer_articles.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/filtrer_sous_rubriques.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/ignorer_si_objet_unique-article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/inclure_exclure-document.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/liste-mot.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/options-comment.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/options-recherche.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/pagination.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/periode-evenement.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/restreindre_langue.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-article-liste.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-article-resume.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-article-vignettes.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-auteur.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-breve.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-document.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-evenement.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-forum.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-mot.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-rubrique.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-site.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/resume-syndic_article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/selecteur_archives.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/titre-article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/titre-auteur.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/titre-breve.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/titre-document.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/titre-evenement.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/titre-forum.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/titre-mot.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/titre-rubrique.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/titre-site.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/titre-syndic_article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri-article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri-auteur.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri-breve.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri-document.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri-evenement.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri-forum.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri-recherche.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri-rubrique.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri-site.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri-syndic_article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri_alphabetique-article.yaml
create mode 100644 www/plugins/auto/aveline/inc-yaml/tri_alphabetique-auteur.yaml
create mode 100644 www/plugins/auto/aveline/inclure/appel_anythingslider.html
create mode 100644 www/plugins/auto/aveline/inclure/article-resume-image.html
create mode 100644 www/plugins/auto/aveline/inclure/article-resume.html
create mode 100644 www/plugins/auto/aveline/inclure/auteur-articles-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/auteur-articles-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/auteur-resume.html
create mode 100644 www/plugins/auto/aveline/inclure/auteur_articles_note.html
create mode 100644 www/plugins/auto/aveline/inclure/aveline-documents.html
create mode 100644 www/plugins/auto/aveline/inclure/aveline-portfolio.html
create mode 100644 www/plugins/auto/aveline/inclure/breve-resume.html
create mode 100644 www/plugins/auto/aveline/inclure/evenement-documents.html
create mode 100644 www/plugins/auto/aveline/inclure/evenement-mots_cles.html
create mode 100644 www/plugins/auto/aveline/inclure/evenement-portfolio.html
create mode 100644 www/plugins/auto/aveline/inclure/evenement-resume.html
create mode 100644 www/plugins/auto/aveline/inclure/forum-resume.html
create mode 100644 www/plugins/auto/aveline/inclure/forum.html
create mode 100644 www/plugins/auto/aveline/inclure/js_formulaire_reponse_volant.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_articles-filtrer_sous_rubriques.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_articles-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_articles-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_articles-tri_alphabetique.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_auteurs-tri_alphabetique.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_breves-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_breves-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_evenements-choix_periode.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_evenements-filtrer_articles.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_evenements-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_evenements-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_forums-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_forums-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_syndic_articles-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/liste_syndic_articles-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/miniplan.html
create mode 100644 www/plugins/auto/aveline/inclure/mot-articles-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/mot-articles-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/mot-breves-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/mot-breves-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/mot-evenements-choix_periode.html
create mode 100644 www/plugins/auto/aveline/inclure/mot-evenements-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/mot-evenements-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/mot-resume.html
create mode 100644 www/plugins/auto/aveline/inclure/mot-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/mot-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/mots_cles.html
create mode 100644 www/plugins/auto/aveline/inclure/objet-mots_cles.html
create mode 100644 www/plugins/auto/aveline/inclure/recherche-articles-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/recherche-articles-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/recherche-breves-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/recherche-breves-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/recherche-evenements-choix_periode.html
create mode 100644 www/plugins/auto/aveline/inclure/recherche-evenements-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/recherche-evenements-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/recherche-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/recherche-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/recherche-syndic_articles-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/recherche-syndic_articles-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/rubrique-resume.html
create mode 100644 www/plugins/auto/aveline/inclure/site-derniers_articles.html
create mode 100644 www/plugins/auto/aveline/inclure/site-resume.html
create mode 100644 www/plugins/auto/aveline/inclure/site-syndic_articles-selecteur_archives-annee.html
create mode 100644 www/plugins/auto/aveline/inclure/site-syndic_articles-selecteur_archives-mois.html
create mode 100644 www/plugins/auto/aveline/inclure/source_rss.html
create mode 100644 www/plugins/auto/aveline/inclure/syndic_article-resume.html
create mode 100644 www/plugins/auto/aveline/lang/aveline.xml
create mode 100644 www/plugins/auto/aveline/lang/aveline_ca.php
create mode 100644 www/plugins/auto/aveline/lang/aveline_fr.php
create mode 100644 www/plugins/auto/aveline/lang/aveline_sk.php
create mode 100644 www/plugins/auto/aveline/lang/avelinepublic.xml
create mode 100644 www/plugins/auto/aveline/lang/avelinepublic_en.php
create mode 100644 www/plugins/auto/aveline/lang/avelinepublic_fr.php
create mode 100644 www/plugins/auto/aveline/lang/avelinepublic_sk.php
create mode 100644 www/plugins/auto/aveline/modeles/comment.html
create mode 100644 www/plugins/auto/aveline/modeles/pagination_simple.html
create mode 100644 www/plugins/auto/aveline/noisettes/anythingslider_liste_articles.html
create mode 100644 www/plugins/auto/aveline/noisettes/anythingslider_liste_articles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/anythingslider_liste_evenements.html
create mode 100644 www/plugins/auto/aveline/noisettes/anythingslider_liste_evenements.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/anythingslider_liste_syndic_articles.html
create mode 100644 www/plugins/auto/aveline/noisettes/anythingslider_liste_syndic_articles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/article-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/article-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/article-documents.html
create mode 100644 www/plugins/auto/aveline/noisettes/article-documents.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/article-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/article-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/article-formulaire_notation.html
create mode 100644 www/plugins/auto/aveline/noisettes/article-formulaire_notation.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/article-forum.html
create mode 100644 www/plugins/auto/aveline/noisettes/article-forum.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/article-lien_hypertexte.html
create mode 100644 www/plugins/auto/aveline/noisettes/article-lien_hypertexte.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/article-mots_cles.html
create mode 100644 www/plugins/auto/aveline/noisettes/article-mots_cles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/article-petition.html
create mode 100644 www/plugins/auto/aveline/noisettes/article-petition.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/article-portfolio.html
create mode 100644 www/plugins/auto/aveline/noisettes/article-portfolio.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/article-precedent_suivant.html
create mode 100644 www/plugins/auto/aveline/noisettes/article-precedent_suivant.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/auteur-articles.html
create mode 100644 www/plugins/auto/aveline/noisettes/auteur-articles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/auteur-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/auteur-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/auteur-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/auteur-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/auteur-formulaire_ecrire_auteur.html
create mode 100644 www/plugins/auto/aveline/noisettes/auteur-formulaire_ecrire_auteur.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/breve-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/breve-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/breve-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/breve-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/breve-forum.html
create mode 100644 www/plugins/auto/aveline/noisettes/breve-forum.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/breve-mots_cles.html
create mode 100644 www/plugins/auto/aveline/noisettes/breve-mots_cles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/calendrier_mini.html
create mode 100644 www/plugins/auto/aveline/noisettes/calendrier_mini.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-documents.html
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-documents.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-formulaire_participer_evenement.html
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-formulaire_participer_evenement.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-mots_cles.html
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-mots_cles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-portfolio.html
create mode 100644 www/plugins/auto/aveline/noisettes/evenement-portfolio.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/formulaire_inscription.html
create mode 100644 www/plugins/auto/aveline/noisettes/formulaire_inscription.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/formulaire_recherche.html
create mode 100644 www/plugins/auto/aveline/noisettes/formulaire_recherche.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/groupe_mots-autres_groupes.html
create mode 100644 www/plugins/auto/aveline/noisettes/groupe_mots-autres_groupes.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/groupe_mots-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/groupe_mots-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/groupe_mots-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/groupe_mots-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/groupe_mots-mots_cles.html
create mode 100644 www/plugins/auto/aveline/noisettes/groupe_mots-mots_cles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/liste_articles.html
create mode 100644 www/plugins/auto/aveline/noisettes/liste_articles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/liste_auteurs.html
create mode 100644 www/plugins/auto/aveline/noisettes/liste_auteurs.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/liste_breves.html
create mode 100644 www/plugins/auto/aveline/noisettes/liste_breves.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/liste_documents.html
create mode 100644 www/plugins/auto/aveline/noisettes/liste_documents.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/liste_evenements.html
create mode 100644 www/plugins/auto/aveline/noisettes/liste_evenements.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/liste_forums.html
create mode 100644 www/plugins/auto/aveline/noisettes/liste_forums.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/liste_mots_cles.html
create mode 100644 www/plugins/auto/aveline/noisettes/liste_mots_cles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/liste_portfolio.html
create mode 100644 www/plugins/auto/aveline/noisettes/liste_portfolio.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/liste_sites.html
create mode 100644 www/plugins/auto/aveline/noisettes/liste_sites.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/liste_syndic_articles.html
create mode 100644 www/plugins/auto/aveline/noisettes/liste_syndic_articles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/logositespip.html
create mode 100644 www/plugins/auto/aveline/noisettes/logositespip.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/mot-articles.html
create mode 100644 www/plugins/auto/aveline/noisettes/mot-articles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/mot-autres_groupes.html
create mode 100644 www/plugins/auto/aveline/noisettes/mot-autres_groupes.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/mot-breves.html
create mode 100644 www/plugins/auto/aveline/noisettes/mot-breves.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/mot-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/mot-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/mot-evenements.html
create mode 100644 www/plugins/auto/aveline/noisettes/mot-evenements.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/mot-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/mot-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/mot-forums.html
create mode 100644 www/plugins/auto/aveline/noisettes/mot-forums.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/mot-mots_meme_groupe.html
create mode 100644 www/plugins/auto/aveline/noisettes/mot-mots_meme_groupe.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/mot-rubriques.html
create mode 100644 www/plugins/auto/aveline/noisettes/mot-rubriques.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/mot-sites.html
create mode 100644 www/plugins/auto/aveline/noisettes/mot-sites.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/navigation_rubriques.html
create mode 100644 www/plugins/auto/aveline/noisettes/navigation_rubriques.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/navigation_secteurs_langues.html
create mode 100644 www/plugins/auto/aveline/noisettes/navigation_secteurs_langues.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-401-formulaire_login.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-401-formulaire_login.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-agenda-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-agenda-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-forum-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-forum-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-forum-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-forum-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-login-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-login-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-login-formulaire_login.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-login-formulaire_login.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-plan-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-plan-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-plan-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-plan-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-articles.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-articles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-auteurs.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-auteurs.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-breves.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-breves.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-documents.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-documents.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-evenements.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-evenements.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-forums.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-forums.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-mots.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-mots.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-rubriques.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-rubriques.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-sites.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-sites.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-syndic_articles.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-recherche-syndic_articles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/page-sommaire-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/page-sommaire-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/plan_simple.html
create mode 100644 www/plugins/auto/aveline/noisettes/plan_simple.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/plan_simple_secteur_langue.html
create mode 100644 www/plugins/auto/aveline/noisettes/plan_simple_secteur_langue.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-documents.html
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-documents.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-formulaire_site.html
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-formulaire_site.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-forum.html
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-forum.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-miniplan.html
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-miniplan.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-mots_cles.html
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-mots_cles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-portfolio.html
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-portfolio.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-sous_rubriques.html
create mode 100644 www/plugins/auto/aveline/noisettes/rubrique-sous_rubriques.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/rubriques_racine.html
create mode 100644 www/plugins/auto/aveline/noisettes/rubriques_racine.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/rubriques_secteur_langue.html
create mode 100644 www/plugins/auto/aveline/noisettes/rubriques_secteur_langue.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/selecteur_archives.html
create mode 100644 www/plugins/auto/aveline/noisettes/selecteur_archives.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/selection_articles.html
create mode 100644 www/plugins/auto/aveline/noisettes/selection_articles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/site-contenuprincipal.html
create mode 100644 www/plugins/auto/aveline/noisettes/site-contenuprincipal.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/site-filariane.html
create mode 100644 www/plugins/auto/aveline/noisettes/site-filariane.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/site-forum.html
create mode 100644 www/plugins/auto/aveline/noisettes/site-forum.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/site-mots_cles.html
create mode 100644 www/plugins/auto/aveline/noisettes/site-mots_cles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/site-syndic_articles.html
create mode 100644 www/plugins/auto/aveline/noisettes/site-syndic_articles.yaml
create mode 100644 www/plugins/auto/aveline/noisettes/titre_descriptif_site.html
create mode 100644 www/plugins/auto/aveline/noisettes/titre_descriptif_site.yaml
create mode 100644 www/plugins/auto/aveline/plugin.xml
create mode 100644 www/plugins/auto/aveline/saisies-vues/selection_selon_plugin.html
create mode 100644 www/plugins/auto/aveline/saisies/selection_selon_plugin.html
create mode 100644 www/plugins/auto/aveline/svn.revision
create mode 100644 www/plugins/auto/cfg/action/crayons_config_store.php
create mode 100644 www/plugins/auto/cfg/cfg-16.png
create mode 100644 www/plugins/auto/cfg/cfg-22.png
create mode 100644 www/plugins/auto/cfg/cfg-doc-22.png
create mode 100644 www/plugins/auto/cfg/cfg.css.html
create mode 100644 www/plugins/auto/cfg/cfg.png
create mode 100644 www/plugins/auto/cfg/cfg/classes/cfg_couleur.php
create mode 100644 www/plugins/auto/cfg/cfg/classes/cfg_fichier.php
create mode 100644 www/plugins/auto/cfg/cfg/classes/cfg_id.php
create mode 100644 www/plugins/auto/cfg/cfg/classes/type_id.php
create mode 100644 www/plugins/auto/cfg/cfg/classes/type_idnum.php
create mode 100644 www/plugins/auto/cfg/cfg/classes/type_pwd.php
create mode 100644 www/plugins/auto/cfg/cfg/params/rediriger.php
create mode 100644 www/plugins/auto/cfg/cfg/params/selecteur_couleur.php
create mode 100644 www/plugins/auto/cfg/cfg_fonctions.php
create mode 100644 www/plugins/auto/cfg/cfg_options.php
create mode 100644 www/plugins/auto/cfg/cfg_pipeline.php
create mode 100644 www/plugins/auto/cfg/changelog.txt
create mode 100644 www/plugins/auto/cfg/controleurs/config.php
create mode 100644 www/plugins/auto/cfg/depots/meta.php
create mode 100644 www/plugins/auto/cfg/depots/metapack.php
create mode 100644 www/plugins/auto/cfg/depots/php.php
create mode 100644 www/plugins/auto/cfg/depots/table.php
create mode 100644 www/plugins/auto/cfg/depots/tablepack.php
create mode 100644 www/plugins/auto/cfg/exec/cfg.php
create mode 100644 www/plugins/auto/cfg/formulaires/configurer.html
create mode 100644 www/plugins/auto/cfg/inc/cfg.php
create mode 100644 www/plugins/auto/cfg/inc/cfg_config.php
create mode 100644 www/plugins/auto/cfg/inc/cfg_formulaire.php
create mode 100644 www/plugins/auto/cfg/inc/compat_cfg.php
create mode 100644 www/plugins/auto/cfg/lang/cfg.xml
create mode 100644 www/plugins/auto/cfg/lang/cfg_ar.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_ast.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_br.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_ca.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_cs.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_de.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_en.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_es.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_fa.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_fr.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_fr_tu.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_gl.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_it.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_nl.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_pt_br.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_ro.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_ru.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_sk.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_sv.php
create mode 100644 www/plugins/auto/cfg/lang/cfg_tr.php
create mode 100644 www/plugins/auto/cfg/plugin.xml
create mode 100644 www/plugins/auto/cfg/svn.revision
create mode 100644 www/plugins/auto/cfg/test_cfg.html
create mode 100644 www/plugins/auto/cfg/tests/depot_differents.php
create mode 100644 www/plugins/auto/cfg/tests/depot_meta.php
create mode 100644 www/plugins/auto/cfg/tests/depot_metapack.php
create mode 100644 www/plugins/auto/cfg/tests/depot_php.php
create mode 100644 www/plugins/auto/cfg/tests/depot_tablepack.php
create mode 100644 www/plugins/auto/cfg/todo.txt
create mode 100644 www/plugins/auto/cfg/vues/config.php
create mode 100644 www/plugins/auto/compositions_v2/base/compositions.php
create mode 100644 www/plugins/auto/compositions_v2/composition-vide.html
create mode 100644 www/plugins/auto/compositions_v2/compositions_fonctions.php
create mode 100644 www/plugins/auto/compositions_v2/compositions_pipeline.php
create mode 100644 www/plugins/auto/compositions_v2/fonds/cfg_compositions.html
create mode 100644 www/plugins/auto/compositions_v2/formulaires/configurer_compositions.html
create mode 100644 www/plugins/auto/compositions_v2/formulaires/editer_composition_objet.html
create mode 100644 www/plugins/auto/compositions_v2/formulaires/editer_composition_objet.php
create mode 100644 www/plugins/auto/compositions_v2/formulaires/inc-informeur_composition.html
create mode 100644 www/plugins/auto/compositions_v2/formulaires/inc-selecteur_composition.html
create mode 100644 www/plugins/auto/compositions_v2/images/composition-cours.png
create mode 100644 www/plugins/auto/compositions_v2/images/composition-tableau.png
create mode 100644 www/plugins/auto/compositions_v2/images/composition-test.png
create mode 100644 www/plugins/auto/compositions_v2/images/compositions-16.png
create mode 100644 www/plugins/auto/compositions_v2/images/compositions-24.png
create mode 100644 www/plugins/auto/compositions_v2/images/compositions-32.png
create mode 100644 www/plugins/auto/compositions_v2/images/compositions-48.png
create mode 100644 www/plugins/auto/compositions_v2/images/compositions-64.png
create mode 100644 www/plugins/auto/compositions_v2/images/compositions.png
create mode 100644 www/plugins/auto/compositions_v2/images/objet-liste-contenus-dates.png
create mode 100644 www/plugins/auto/compositions_v2/images/objet-liste-contenus.png
create mode 100644 www/plugins/auto/compositions_v2/images/objet-simple.png
create mode 100644 www/plugins/auto/compositions_v2/inc/compositions.php
create mode 100644 www/plugins/auto/compositions_v2/lang/compositions_en.php
create mode 100644 www/plugins/auto/compositions_v2/lang/compositions_es.php
create mode 100644 www/plugins/auto/compositions_v2/lang/compositions_fr.php
create mode 100644 www/plugins/auto/compositions_v2/plugin.xml
create mode 100644 www/plugins/auto/compositions_v2/prive/editer/compositions.html
create mode 100644 www/plugins/auto/compositions_v2/prive/exec/compositions.html
create mode 100644 www/plugins/auto/compositions_v2/prive/exec/configurer_compositions.html
create mode 100644 www/plugins/auto/compositions_v2/prive/style_prive_plugin_compositions.html
create mode 100644 www/plugins/auto/compositions_v2/saisies/composition.html
create mode 100644 www/plugins/auto/compositions_v2/saisies/composition_fonctions.php
create mode 100644 www/plugins/auto/compositions_v2/svn.revision
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/action/action_rapide.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/action/description_outil.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/base/cout_install.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/base/cout_upgrade.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/config_outils.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/cout_dates.js.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/cout_define.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/cout_lancement.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/cout_pipelines.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/cout_utils.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/couteau_suisse_administrations.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/couteau_suisse_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/couteau_suisse_options.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/exec/action_rapide.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/exec/admin_couteau_suisse.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/exec/admin_couteau_suisse_head.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/exec/admin_couteau_suisse_old.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/exec/charger_description_outil.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/exec/cs_boite_rss.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/exec/cs_version.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/exec/description_outil.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/exec/test_couteau_suisse.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/decoupe.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/decoupe_item.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/derniers_connectes.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/en_travaux.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/format_spip.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/glossaire_css.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/glossaire_js.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/sommaire.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/test_spam.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/test_spam_bd.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/tri_auteurs.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/type_urls.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/type_urls_191.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/type_urls_liste.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/fonds/visiteurs_connectes.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/autobr.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/bloc_invisible.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/bloc_visible.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/couteau-19.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/decoration_auto.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/decoration_barre.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/decoration_dessus.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/decoration_div.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/decoration_sc.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/decoration_souligne.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/decoration_span.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/decoration_surfluo.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/decoration_surgris.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/decoupe_onglets.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/icones_barre/decoupe_pages.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/chatons/euh.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/chatons/grr.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/chatons/lol.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/chatons/mdr.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/chatons/oups.jpg
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/couteau-24.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/couteau-50.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/decoupe/precedent.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/decoupe/precedent_off.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/decoupe/suivant.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/decoupe/suivant_off.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/filets/degrade.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/filets/ornement.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/formatspip-24.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/loupe.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/mailcrypt/leure.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/nosel.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/permute.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/bof.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/clin_d-oeil.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/diable.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/en_colere.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/index.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/logo.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/lunettes.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/mort_de_rire.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/mouais.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/pas_content.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/pleure_de_rire.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/rigolo.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/rouge.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/sourire.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/surpris.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/tableau.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/tire_la_langue.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/smileys/triste.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/img/sommaire/coin.gif
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/inc/cs_outils.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/inc/description_outil.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau.xml
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_ar.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_ast.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_br.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_ca.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_de.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_en.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_es.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_fa.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_fr.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_fr_tu.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_gl.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_it.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_km.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_nl.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_pt_br.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_ro.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_sk.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_sv.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteau_tr.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive.xml
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_ar.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_ast.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_br.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_ca.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_en.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_es.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_fr.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_fr_tu.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_gl.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_nl.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_sk.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/couteauprive_tr.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lang/paquet-couteau_suisse_fr.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/lisezmoi.txt
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/modeles/bolo.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/modeles/horloge.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/modeles/lesauteurs.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/auteur_forum.js.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/autobr.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/balise_set_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/blocs.css.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/blocs.js
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/blocs.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/blocs_config.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/blocs_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/boites_privees.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/boites_privees_action_rapide.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/chatons.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/class_spip_config.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/corbeille_action_rapide.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/couleurs.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/cout_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/decoration.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/decoupe.css
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/decoupe.js
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/decoupe.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/decoupe_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/desactiver_flash.js.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/devdebug_config.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/devdebug_options.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/ecran_securite.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/en_travaux_options.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/filets_sep.css
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/filets_sep.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/glossaire.css
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/glossaire.js
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/glossaire_action_rapide.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/glossaire_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/guillemets.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/horloge_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/icone_visiter.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/inc_cs_liens.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/insertions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/insertions_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/interface_config.xml
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/introduction_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/jcorner.js.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/jcorner.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/jquery.jclock.js
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/jquery.localscroll.js
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/jquery.scrollto.js
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/liens_en_clair.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/liens_en_clair_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/liens_orphelins.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/liens_orphelins_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/mailcrypt_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/maj_auto_action_rapide.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/maj_auto_php5.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/moderation_moderee.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/orientation_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/pack_action_rapide.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/set_options.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/smileys.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/smileys_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/sommaire.css.html
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/sommaire.js
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/sommaire.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/sommaire_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/spam.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/spam_action_rapide.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/spam_options.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/spip_cache_action_rapide.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/spip_cache_config.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/titre_parent_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/titres_typo.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/toutmulti.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/trousse_balises_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/type_urls_action_rapide.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/type_urls_config.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/typo_exposants.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/outils/verstexte_fonctions.php
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/paquet.xml
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/plugin.xml
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/prive/themes/spip/images/couteau-16.png
create mode 100644 www/plugins/auto/couteau_suisse/couteau_suisse/svn.revision
create mode 100644 www/plugins/auto/fullcalendar/base/fullcalendar.php
create mode 100644 www/plugins/auto/fullcalendar/base/fullcalendar_init.php
create mode 100644 www/plugins/auto/fullcalendar/css/calendar.png
create mode 100644 www/plugins/auto/fullcalendar/css/calendar_style.css.html
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-icons_2694e8_256x240.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-icons_2e83ff_256x240.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-icons_3d80b3_256x240.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-icons_72a7cf_256x240.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/images/ui-icons_ffffff_256x240.png
create mode 100644 www/plugins/auto/fullcalendar/css/cupertino/theme.css
create mode 100644 www/plugins/auto/fullcalendar/css/fullcalendar.css
create mode 100644 www/plugins/auto/fullcalendar/css/fullcalendar.print.css
create mode 100644 www/plugins/auto/fullcalendar/css/jquery-ui-timepicker.css
create mode 100644 www/plugins/auto/fullcalendar/css/jquery-ui.css
create mode 100644 www/plugins/auto/fullcalendar/css_fullcalendar.html
create mode 100644 www/plugins/auto/fullcalendar/exec/fullcalendar_add.php
create mode 100644 www/plugins/auto/fullcalendar/exec/fullcalendar_css.php
create mode 100644 www/plugins/auto/fullcalendar/exec/fullcalendar_edit.php
create mode 100644 www/plugins/auto/fullcalendar/fonds/cfg_fullcalendar.html
create mode 100644 www/plugins/auto/fullcalendar/formulaires/config_fullcalendar.html
create mode 100644 www/plugins/auto/fullcalendar/fullcalendar_pipelines.php
create mode 100644 www/plugins/auto/fullcalendar/index.html
create mode 100644 www/plugins/auto/fullcalendar/js/fullcalendar.js
create mode 100644 www/plugins/auto/fullcalendar/js/gcal.js
create mode 100644 www/plugins/auto/fullcalendar/js/jquery.ui.timepicker.js
create mode 100644 www/plugins/auto/fullcalendar/lang/fullcalendar_fr.php
create mode 100644 www/plugins/auto/fullcalendar/license.txt
create mode 100644 www/plugins/auto/fullcalendar/modeles/fullcalendar.html
create mode 100644 www/plugins/auto/fullcalendar/modeles/fullcalendar_ajout.html
create mode 100644 www/plugins/auto/fullcalendar/modeles/minifullcalendar.html
create mode 100644 www/plugins/auto/fullcalendar/noisettes/agenda/inc_mini_agenda_1.html
create mode 100644 www/plugins/auto/fullcalendar/noisettes/agenda/inc_mini_agenda_fullcalendar.html
create mode 100644 www/plugins/auto/fullcalendar/plugin.xml
create mode 100644 www/plugins/auto/fullcalendar/prive/contenu/fullcalendar_articles.html
create mode 100644 www/plugins/auto/fullcalendar/prive/contenu/fullcalendar_rubriques.html
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/calendar.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/calendar_edit.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/calendar_remove.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/css_edit.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/css_remove.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/edit_css.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/event_edit.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/event_remove.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/fullcalendar-16.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/fullcalendar-24.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/fullcalendar-32.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/fullcalendar-48.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/fullcalendar.jpg
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/google-24.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/mysql-24.png
create mode 100644 www/plugins/auto/fullcalendar/prive/themes/spip/images/ok.png
create mode 100644 www/plugins/auto/fullcalendar/svn.revision
create mode 100644 www/plugins/auto/ieconfig/exec/ieconfig_export.php
create mode 100644 www/plugins/auto/ieconfig/exec/ieconfig_import.php
create mode 100644 www/plugins/auto/ieconfig/formulaires/ieconfig_export.html
create mode 100644 www/plugins/auto/ieconfig/formulaires/ieconfig_export.php
create mode 100644 www/plugins/auto/ieconfig/formulaires/ieconfig_import.html
create mode 100644 www/plugins/auto/ieconfig/formulaires/ieconfig_import.php
create mode 100644 www/plugins/auto/ieconfig/ieconfig_autoriser.php
create mode 100644 www/plugins/auto/ieconfig/ieconfig_mes_fichiers_a_sauver.php
create mode 100644 www/plugins/auto/ieconfig/ieconfig_options.php
create mode 100644 www/plugins/auto/ieconfig/img/ieconfig-128.png
create mode 100644 www/plugins/auto/ieconfig/img/ieconfig-24.png
create mode 100644 www/plugins/auto/ieconfig/img/ieconfig-24bis.png
create mode 100644 www/plugins/auto/ieconfig/img/ieconfig-256.png
create mode 100644 www/plugins/auto/ieconfig/img/ieconfig-64.png
create mode 100644 www/plugins/auto/ieconfig/img/ieconfig-export.png
create mode 100644 www/plugins/auto/ieconfig/img/ieconfig-import.png
create mode 100644 www/plugins/auto/ieconfig/lang/ieconfig_fr.php
create mode 100644 www/plugins/auto/ieconfig/plugin.xml
create mode 100644 www/plugins/auto/ieconfig/prive/ieconfig/ieconfig_export.html
create mode 100644 www/plugins/auto/ieconfig/prive/ieconfig/ieconfig_import.html
create mode 100644 www/plugins/auto/ieconfig/prive/themes/spip/images/ieconfig-16.png
create mode 100644 www/plugins/auto/ieconfig/svn.revision
create mode 100644 www/plugins/auto/jquery_ui/fonds/cfg_jqueryui.html
create mode 100644 www/plugins/auto/jquery_ui/formulaires/config_jqueryui.html
create mode 100644 www/plugins/auto/jquery_ui/formulaires/config_jqueryui_20.html
create mode 100644 www/plugins/auto/jquery_ui/formulaires/config_jqueryui_20_fonctions.php
create mode 100644 www/plugins/auto/jquery_ui/formulaires/config_jqueryui_fonctions.php
create mode 100644 www/plugins/auto/jquery_ui/formulaires/dateur/inc-dateur.html
create mode 100644 www/plugins/auto/jquery_ui/images/jqueryui-24.png
create mode 100644 www/plugins/auto/jquery_ui/images/jqueryui.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/AUTHORS.txt
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/GPL-LICENSE.txt
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/MIT-LICENSE.txt
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-bg_flat_75_ffffff_40x100.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-bg_glass_65_ffffff_1x400.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-bg_glass_75_dadada_1x400.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-icons_222222_256x240.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-icons_2e83ff_256x240.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-icons_454545_256x240.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-icons_888888_256x240.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/images/ui-icons_cd0a0a_256x240.png
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery-ui.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.accordion.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.all.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.autocomplete.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.base.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.button.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.core.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.datepicker.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.dialog.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.progressbar.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.resizable.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.selectable.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.slider.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.tabs.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/themes/base/jquery.ui.theme.css
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery-ui-i18n.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-af.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-ar-DZ.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-ar.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-az.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-bg.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-bs.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-ca.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-cs.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-da.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-de.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-el.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-en-AU.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-en-GB.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-en-NZ.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-eo.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-es.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-et.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-eu.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-fa.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-fi.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-fo.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-fr-CH.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-fr.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-gl.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-he.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-hr.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-hu.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-hy.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-id.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-is.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-it.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-ja.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-ko.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-kz.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-lt.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-lv.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-ml.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-ms.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-nl.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-no.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-pl.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-pt-BR.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-pt.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-rm.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-ro.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-ru.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-sk.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-sl.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-sq.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-sr-SR.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-sr.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-sv.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-ta.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-th.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-tj.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-tr.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-uk.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-vi.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-zh-CN.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-zh-HK.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/i18n/jquery.ui.datepicker-zh-TW.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery-ui.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.blind.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.bounce.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.clip.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.core.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.drop.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.explode.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.fade.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.fold.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.highlight.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.pulsate.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.scale.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.shake.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.slide.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.effects.transfer.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.accordion.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.autocomplete.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.button.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.core.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.datepicker.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.dialog.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.draggable.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.droppable.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.mouse.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.position.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.progressbar.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.resizable.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.selectable.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.slider.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.sortable.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.tabs.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/ui/jquery.ui.widget.js
create mode 100644 www/plugins/auto/jquery_ui/javascript/jquery-ui-1.8.16/version.txt
create mode 100644 www/plugins/auto/jquery_ui/jqueryui_options.php
create mode 100644 www/plugins/auto/jquery_ui/jqueryui_options_20.php
create mode 100644 www/plugins/auto/jquery_ui/jqueryui_pipelines.php
create mode 100644 www/plugins/auto/jquery_ui/jqueryui_pipelines_20.php
create mode 100644 www/plugins/auto/jquery_ui/lang/jqueryui.xml
create mode 100644 www/plugins/auto/jquery_ui/lang/jqueryui_en.php
create mode 100644 www/plugins/auto/jquery_ui/lang/jqueryui_fr.php
create mode 100644 www/plugins/auto/jquery_ui/plugin.xml
create mode 100644 www/plugins/auto/jquery_ui/svn.revision
create mode 100644 www/plugins/auto/noiZetier/action/supprimer_composition_noizetier.php
create mode 100644 www/plugins/auto/noiZetier/action/supprimer_noisettes_page.php
create mode 100644 www/plugins/auto/noiZetier/balise/noizetier_afficher_noisette.php
create mode 100644 www/plugins/auto/noiZetier/balise/noizetier_liste_icones.php
create mode 100644 www/plugins/auto/noiZetier/balise/noizetier_liste_noisettes.php
create mode 100644 www/plugins/auto/noiZetier/balise/noizetier_liste_pages.php
create mode 100644 www/plugins/auto/noiZetier/base/noizetier_installation.php
create mode 100644 www/plugins/auto/noiZetier/base/noizetier_tables.php
create mode 100644 www/plugins/auto/noiZetier/formulaires/configurer_bloc.html
create mode 100644 www/plugins/auto/noiZetier/formulaires/configurer_bloc.php
create mode 100644 www/plugins/auto/noiZetier/formulaires/editer_composition_heritages_noizetier.html
create mode 100644 www/plugins/auto/noiZetier/formulaires/editer_composition_heritages_noizetier.php
create mode 100644 www/plugins/auto/noiZetier/formulaires/editer_composition_noizetier.html
create mode 100644 www/plugins/auto/noiZetier/formulaires/editer_composition_noizetier.php
create mode 100644 www/plugins/auto/noiZetier/formulaires/inc-configurer-noisettes.html
create mode 100644 www/plugins/auto/noiZetier/formulaires/inc-nouvelle_noisette-1.html
create mode 100644 www/plugins/auto/noiZetier/formulaires/inc-nouvelle_noisette-2.html
create mode 100644 www/plugins/auto/noiZetier/icones_preview.html
create mode 100644 www/plugins/auto/noiZetier/img/compositions-24.png
create mode 100644 www/plugins/auto/noiZetier/img/export.png
create mode 100644 www/plugins/auto/noiZetier/img/ic_bloc_contenu.png
create mode 100644 www/plugins/auto/noiZetier/img/ic_bloc_extra.png
create mode 100644 www/plugins/auto/noiZetier/img/ic_bloc_navigation.png
create mode 100644 www/plugins/auto/noiZetier/img/ic_bloctexte.png
create mode 100644 www/plugins/auto/noiZetier/img/ic_page.png
create mode 100644 www/plugins/auto/noiZetier/img/import.png
create mode 100644 www/plugins/auto/noiZetier/img/noizetier-128.png
create mode 100644 www/plugins/auto/noiZetier/img/noizetier-24.png
create mode 100644 www/plugins/auto/noiZetier/img/noizetier-48.png
create mode 100644 www/plugins/auto/noiZetier/img/noizetier-64.png
create mode 100644 www/plugins/auto/noiZetier/img/noizetier_action_ajouter.png
create mode 100644 www/plugins/auto/noiZetier/img/noizetier_action_bas.png
create mode 100644 www/plugins/auto/noiZetier/img/noizetier_action_haut.png
create mode 100644 www/plugins/auto/noiZetier/img/noizetier_action_modifier.png
create mode 100644 www/plugins/auto/noiZetier/img/noizetier_action_supprimer.png
create mode 100644 www/plugins/auto/noiZetier/inc/noizetier.php
create mode 100644 www/plugins/auto/noiZetier/javascript/noizetier.js
create mode 100644 www/plugins/auto/noiZetier/lang/noizetier.xml
create mode 100644 www/plugins/auto/noiZetier/lang/noizetier_de.php
create mode 100644 www/plugins/auto/noiZetier/lang/noizetier_fr.php
create mode 100644 www/plugins/auto/noiZetier/noisettes/bloctexte.html
create mode 100644 www/plugins/auto/noiZetier/noisettes/bloctexte.yaml
create mode 100644 www/plugins/auto/noiZetier/noizetier-generer-bloc.html
create mode 100644 www/plugins/auto/noiZetier/noizetier.css.html
create mode 100644 www/plugins/auto/noiZetier/noizetier_autoriser.php
create mode 100644 www/plugins/auto/noiZetier/noizetier_ieconfig.php
create mode 100644 www/plugins/auto/noiZetier/noizetier_pipelines.php
create mode 100644 www/plugins/auto/noiZetier/plugin.xml
create mode 100644 www/plugins/auto/noiZetier/prive/exec/configurer_page.html
create mode 100644 www/plugins/auto/noiZetier/prive/exec/noizetier.html
create mode 100644 www/plugins/auto/noiZetier/prive/exec/noizetier_composition_editer.html
create mode 100644 www/plugins/auto/noiZetier/prive/exec/noizetier_composition_heritages.html
create mode 100644 www/plugins/auto/noiZetier/prive/exec/noizetier_compositions.html
create mode 100644 www/plugins/auto/noiZetier/prive/themes/spip/images/noizetier-16.png
create mode 100644 www/plugins/auto/noiZetier/svn.revision
create mode 100644 www/plugins/auto/saisies/action/deplacer_saisie.php
create mode 100644 www/plugins/auto/saisies/aide/saisies.html
create mode 100644 www/plugins/auto/saisies/balise/configurer_saisie.php
create mode 100644 www/plugins/auto/saisies/balise/generer_saisies.php
create mode 100644 www/plugins/auto/saisies/balise/saisie.php
create mode 100644 www/plugins/auto/saisies/balise/voir_saisie.php
create mode 100644 www/plugins/auto/saisies/balise/voir_saisies.php
create mode 100644 www/plugins/auto/saisies/contenu/page-saisies_cvt.html
create mode 100644 www/plugins/auto/saisies/css/formulaires_constructeur.css
create mode 100644 www/plugins/auto/saisies/extra-vues/pays.html
create mode 100644 www/plugins/auto/saisies/formulaires/construire_formulaire.html
create mode 100644 www/plugins/auto/saisies/formulaires/construire_formulaire.php
create mode 100644 www/plugins/auto/saisies/formulaires/inc-construire_formulaire-actions.html
create mode 100644 www/plugins/auto/saisies/formulaires/inc-generer_saisies_configurables.html
create mode 100644 www/plugins/auto/saisies/formulaires/inc-saisies-cvt.html
create mode 100644 www/plugins/auto/saisies/formulaires/saisies_cvt.html
create mode 100644 www/plugins/auto/saisies/formulaires/saisies_cvt.php
create mode 100644 www/plugins/auto/saisies/images/formulaire-annuler-16.png
create mode 100644 www/plugins/auto/saisies/images/formulaire-configurer-16.png
create mode 100644 www/plugins/auto/saisies/images/formulaire-deplacer-16.png
create mode 100644 www/plugins/auto/saisies/images/formulaire-dupliquer-16.png
create mode 100644 www/plugins/auto/saisies/images/formulaire-enregistrer-16.png
create mode 100644 www/plugins/auto/saisies/images/formulaire-reinitialiser-24.png
create mode 100644 www/plugins/auto/saisies/images/formulaire-saisie-defaut.png
create mode 100644 www/plugins/auto/saisies/images/formulaire-supprimer-16.png
create mode 100644 www/plugins/auto/saisies/images/logo_saisie_48.png
create mode 100644 www/plugins/auto/saisies/images/saisies_auteurs.png
create mode 100644 www/plugins/auto/saisies/images/saisies_case.png
create mode 100644 www/plugins/auto/saisies/images/saisies_checkbox.png
create mode 100644 www/plugins/auto/saisies/images/saisies_date.png
create mode 100644 www/plugins/auto/saisies/images/saisies_explication.png
create mode 100644 www/plugins/auto/saisies/images/saisies_fieldset.png
create mode 100644 www/plugins/auto/saisies/images/saisies_hidden.png
create mode 100644 www/plugins/auto/saisies/images/saisies_input.png
create mode 100644 www/plugins/auto/saisies/images/saisies_oui_non.png
create mode 100644 www/plugins/auto/saisies/images/saisies_radio.png
create mode 100644 www/plugins/auto/saisies/images/saisies_selecteur_article.png
create mode 100644 www/plugins/auto/saisies/images/saisies_selecteur_rubrique.png
create mode 100644 www/plugins/auto/saisies/images/saisies_selecteur_rubrique_article.png
create mode 100644 www/plugins/auto/saisies/images/saisies_selection.png
create mode 100644 www/plugins/auto/saisies/images/saisies_selection_multiple.png
create mode 100644 www/plugins/auto/saisies/images/saisies_textarea.png
create mode 100644 www/plugins/auto/saisies/inc/saisies.php
create mode 100644 www/plugins/auto/saisies/inc/saisies_afficher.php
create mode 100644 www/plugins/auto/saisies/inc/saisies_lister.php
create mode 100644 www/plugins/auto/saisies/inc/saisies_manipuler.php
create mode 100644 www/plugins/auto/saisies/inclure/configurer_saisie.html
create mode 100644 www/plugins/auto/saisies/inclure/configurer_saisie_fonctions.php
create mode 100644 www/plugins/auto/saisies/inclure/generer_saisies.html
create mode 100644 www/plugins/auto/saisies/inclure/js_afficher_si.html
create mode 100644 www/plugins/auto/saisies/inclure/saisies_aide.html
create mode 100644 www/plugins/auto/saisies/inclure/voir_saisies.html
create mode 100644 www/plugins/auto/saisies/javascript/saisies.js
create mode 100644 www/plugins/auto/saisies/lang/paquet-saisies.xml
create mode 100644 www/plugins/auto/saisies/lang/paquet-saisies_en.php
create mode 100644 www/plugins/auto/saisies/lang/paquet-saisies_fr.php
create mode 100644 www/plugins/auto/saisies/lang/saisies.xml
create mode 100644 www/plugins/auto/saisies/lang/saisies_ca.php
create mode 100644 www/plugins/auto/saisies/lang/saisies_de.php
create mode 100644 www/plugins/auto/saisies/lang/saisies_en.php
create mode 100644 www/plugins/auto/saisies/lang/saisies_es.php
create mode 100644 www/plugins/auto/saisies/lang/saisies_fa.php
create mode 100644 www/plugins/auto/saisies/lang/saisies_fr.php
create mode 100644 www/plugins/auto/saisies/lang/saisies_fr_tu.php
create mode 100644 www/plugins/auto/saisies/lang/saisies_sk.php
create mode 100644 www/plugins/auto/saisies/paquet.xml
create mode 100644 www/plugins/auto/saisies/plugin.xml
create mode 100644 www/plugins/auto/saisies/prive/exec/configurer_saisies.html
create mode 100644 www/plugins/auto/saisies/prive/listes/articles_originaux_recursifs.html
create mode 100644 www/plugins/auto/saisies/prive/listes/rubriques_recursives.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/_base.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/auteurs.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/case.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/checkbox.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/date.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/destinataires.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/explication.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/fieldset.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/groupe_mots.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/oui_non.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/radio.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/secteur.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/selecteur_article.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/selecteur_article_fonctions.php
create mode 100644 www/plugins/auto/saisies/saisies-vues/selecteur_document.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/selecteur_rubrique.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/selecteur_rubrique_article.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/selecteur_site.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/selection.html
create mode 100644 www/plugins/auto/saisies/saisies-vues/selection_multiple.html
create mode 100644 www/plugins/auto/saisies/saisies.css.html
create mode 100644 www/plugins/auto/saisies/saisies/_base.html
create mode 100644 www/plugins/auto/saisies/saisies/articles_originaux.html
create mode 100644 www/plugins/auto/saisies/saisies/auteurs.html
create mode 100644 www/plugins/auto/saisies/saisies/auteurs.yaml
create mode 100644 www/plugins/auto/saisies/saisies/case.html
create mode 100644 www/plugins/auto/saisies/saisies/case.yaml
create mode 100644 www/plugins/auto/saisies/saisies/checkbox.html
create mode 100644 www/plugins/auto/saisies/saisies/checkbox.yaml
create mode 100644 www/plugins/auto/saisies/saisies/choisir_objets.html
create mode 100644 www/plugins/auto/saisies/saisies/couleur.html
create mode 100644 www/plugins/auto/saisies/saisies/date.html
create mode 100644 www/plugins/auto/saisies/saisies/date.yaml
create mode 100644 www/plugins/auto/saisies/saisies/date_jour_mois_annee.html
create mode 100644 www/plugins/auto/saisies/saisies/destinataires.html
create mode 100644 www/plugins/auto/saisies/saisies/destinataires.yaml
create mode 100644 www/plugins/auto/saisies/saisies/email.html
create mode 100644 www/plugins/auto/saisies/saisies/explication.html
create mode 100644 www/plugins/auto/saisies/saisies/explication.yaml
create mode 100644 www/plugins/auto/saisies/saisies/fieldset.html
create mode 100644 www/plugins/auto/saisies/saisies/fieldset.yaml
create mode 100644 www/plugins/auto/saisies/saisies/groupe_mots.html
create mode 100644 www/plugins/auto/saisies/saisies/hidden.html
create mode 100644 www/plugins/auto/saisies/saisies/hidden.yaml
create mode 100644 www/plugins/auto/saisies/saisies/input.html
create mode 100644 www/plugins/auto/saisies/saisies/input.yaml
create mode 100644 www/plugins/auto/saisies/saisies/mot.html
create mode 100644 www/plugins/auto/saisies/saisies/oui_non.html
create mode 100644 www/plugins/auto/saisies/saisies/oui_non.yaml
create mode 100644 www/plugins/auto/saisies/saisies/pays.html
create mode 100644 www/plugins/auto/saisies/saisies/police.html
create mode 100644 www/plugins/auto/saisies/saisies/position_construire_formulaire.html
create mode 100644 www/plugins/auto/saisies/saisies/radio.html
create mode 100644 www/plugins/auto/saisies/saisies/radio.yaml
create mode 100644 www/plugins/auto/saisies/saisies/recherche.html
create mode 100644 www/plugins/auto/saisies/saisies/secteur.html
create mode 100644 www/plugins/auto/saisies/saisies/selecteur.html
create mode 100644 www/plugins/auto/saisies/saisies/selecteur_article.html
create mode 100644 www/plugins/auto/saisies/saisies/selecteur_article.yaml
create mode 100644 www/plugins/auto/saisies/saisies/selecteur_document.html
create mode 100644 www/plugins/auto/saisies/saisies/selecteur_langue.html
create mode 100644 www/plugins/auto/saisies/saisies/selecteur_rubrique.html
create mode 100644 www/plugins/auto/saisies/saisies/selecteur_rubrique.yaml
create mode 100644 www/plugins/auto/saisies/saisies/selecteur_rubrique_article.html
create mode 100644 www/plugins/auto/saisies/saisies/selecteur_rubrique_article.yaml
create mode 100644 www/plugins/auto/saisies/saisies/selecteur_site.html
create mode 100644 www/plugins/auto/saisies/saisies/selection.html
create mode 100644 www/plugins/auto/saisies/saisies/selection.yaml
create mode 100644 www/plugins/auto/saisies/saisies/selection_multiple.html
create mode 100644 www/plugins/auto/saisies/saisies/selection_multiple.yaml
create mode 100644 www/plugins/auto/saisies/saisies/selection_par_groupe.html
create mode 100644 www/plugins/auto/saisies/saisies/statuts_auteurs.html
create mode 100644 www/plugins/auto/saisies/saisies/telephone.html
create mode 100644 www/plugins/auto/saisies/saisies/textarea.html
create mode 100644 www/plugins/auto/saisies/saisies/textarea.yaml
create mode 100644 www/plugins/auto/saisies/saisies/true_false.html
create mode 100644 www/plugins/auto/saisies/saisies/url.html
create mode 100644 www/plugins/auto/saisies/saisies_fonctions.php
create mode 100644 www/plugins/auto/saisies/saisies_options.php
create mode 100644 www/plugins/auto/saisies/saisies_pipelines.php
create mode 100644 www/plugins/auto/saisies/svn.revision
create mode 100644 www/plugins/auto/saisies/test/configurer_saisie.html
create mode 100644 www/plugins/auto/saisies/test/generer_saisies.html
create mode 100644 www/plugins/auto/saisies/test/saisie.html
create mode 100644 www/plugins/auto/saisies/test/voir_saisie.html
create mode 100644 www/plugins/auto/saisies/test/voir_saisies.html
create mode 100644 www/plugins/auto/spip-bonux/ajax_item_pick.html
create mode 100644 www/plugins/auto/spip-bonux/configurer/pipelines.php
create mode 100644 www/plugins/auto/spip-bonux/connect/condition.php
create mode 100644 www/plugins/auto/spip-bonux/connect/pour.php
create mode 100644 www/plugins/auto/spip-bonux/demo/boucle_et_saut.html
create mode 100644 www/plugins/auto/spip-bonux/demo/boucles_iterations.html
create mode 100644 www/plugins/auto/spip-bonux/demo/boucles_si.html
create mode 100644 www/plugins/auto/spip-bonux/demo/boucles_tableaux.html
create mode 100644 www/plugins/auto/spip-bonux/demo/noeud.html
create mode 100644 www/plugins/auto/spip-bonux/formulaires/dateur/datePicker.css
create mode 100644 www/plugins/auto/spip-bonux/formulaires/dateur/dates.js
create mode 100644 www/plugins/auto/spip-bonux/formulaires/dateur/inc-dateur.html
create mode 100644 www/plugins/auto/spip-bonux/formulaires/dateur/jquery.datePicker.js
create mode 100644 www/plugins/auto/spip-bonux/formulaires/dateur/jquery.timePicker.js
create mode 100644 www/plugins/auto/spip-bonux/formulaires/dateur/picker-16.gif
create mode 100644 www/plugins/auto/spip-bonux/formulaires/dateur/timePicker.css
create mode 100644 www/plugins/auto/spip-bonux/formulaires/recherche_ecrire.html
create mode 100644 www/plugins/auto/spip-bonux/formulaires/recherche_ecrire.php
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/articles.html
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/inc-nav-articles.html
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/inc-nav-rubriques.html
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/inc-sel-articles.html
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/inc-sel-rubriques.html
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/jquery-ui-1.6.custom.js
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/jquery-ui-1.8.5.custom.js
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/jquery.picker.js
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/navigateur.html
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/picker-ajax.html
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/picker.css
create mode 100644 www/plugins/auto/spip-bonux/formulaires/selecteur/rubriques.html
create mode 100644 www/plugins/auto/spip-bonux/img_pack/annuler-recherche.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/article-12.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/deplier-droite.gif
create mode 100644 www/plugins/auto/spip-bonux/img_pack/deplier-droite.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/frame-close.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/item-add.gif
create mode 100644 www/plugins/auto/spip-bonux/img_pack/item-add.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/item-remove.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/logo-bonux.gif
create mode 100644 www/plugins/auto/spip-bonux/img_pack/message_erreur-24.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/message_notice-24.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/message_ok-24.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/spip-bonux.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/tri_asc-12.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/tri_asc-16.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/tri_asc-24.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/tri_asc.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/tri_desc-12.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/tri_desc-16.png
create mode 100644 www/plugins/auto/spip-bonux/img_pack/tri_desc-24.png
create mode 100644 www/plugins/auto/spip-bonux/inc/config.php
create mode 100644 www/plugins/auto/spip-bonux/inc/core21_filtres.php
create mode 100644 www/plugins/auto/spip-bonux/inc/date_gestion.php
create mode 100644 www/plugins/auto/spip-bonux/inc/exporter_csv.php
create mode 100644 www/plugins/auto/spip-bonux/inc/importer_csv.php
create mode 100644 www/plugins/auto/spip-bonux/javascript/jquery.qtip-1.0.0-rc3.js
create mode 100644 www/plugins/auto/spip-bonux/javascript/jquery.qtip.activate.js
create mode 100644 www/plugins/auto/spip-bonux/lang/spip_bonux_ar.php
create mode 100644 www/plugins/auto/spip-bonux/lang/spip_bonux_en.php
create mode 100644 www/plugins/auto/spip-bonux/lang/spip_bonux_fr.php
create mode 100644 www/plugins/auto/spip-bonux/lang/spip_bonux_it.php
create mode 100644 www/plugins/auto/spip-bonux/modeles/pagination.html
create mode 100644 www/plugins/auto/spip-bonux/modeles/pagination_noancre.html
create mode 100644 www/plugins/auto/spip-bonux/modeles/pagination_page.html
create mode 100644 www/plugins/auto/spip-bonux/modeles/pagination_prive.html
create mode 100644 www/plugins/auto/spip-bonux/plugin.xml
create mode 100644 www/plugins/auto/spip-bonux/prive/style_prive_plugin_bonux.html
create mode 100644 www/plugins/auto/spip-bonux/prive/style_prive_plugin_bonux_recherche.html
create mode 100644 www/plugins/auto/spip-bonux/prive/themes/spip/style_prive_bling.html
create mode 100644 www/plugins/auto/spip-bonux/public/spip_bonux_balises.php
create mode 100644 www/plugins/auto/spip-bonux/public/spip_bonux_criteres.php
create mode 100644 www/plugins/auto/spip-bonux/req/array.php
create mode 100644 www/plugins/auto/spip-bonux/spip20/inc/couleurs.php
create mode 100644 www/plugins/auto/spip-bonux/spip20/style_prive.html
create mode 100644 www/plugins/auto/spip-bonux/spip20/style_prive_formulaires.html
create mode 100644 www/plugins/auto/spip-bonux/spip21/inc/couleurs.php
create mode 100644 www/plugins/auto/spip-bonux/spip21/style_prive.html
create mode 100644 www/plugins/auto/spip-bonux/spip21/style_prive_formulaires.html
create mode 100644 www/plugins/auto/spip-bonux/spip_bonux_fonctions.php
create mode 100644 www/plugins/auto/spip-bonux/spip_bonux_options.php
create mode 100644 www/plugins/auto/spip-bonux/style_prive_plugins.html
create mode 100644 www/plugins/auto/spip-bonux/style_prive_plugins_fonctions.php
create mode 100644 www/plugins/auto/spip-bonux/svn.revision
create mode 100644 www/plugins/auto/spip-bonux/tests/balises/set_merge.html
create mode 100644 www/plugins/auto/spip-bonux/tests/balises/set_push.html
create mode 100644 www/plugins/auto/thickbox2/circle_animation.gif
create mode 100644 www/plugins/auto/thickbox2/close.gif
create mode 100644 www/plugins/auto/thickbox2/head.php
create mode 100644 www/plugins/auto/thickbox2/javascript/thickbox.js
create mode 100644 www/plugins/auto/thickbox2/loadingAnimation.gif
create mode 100644 www/plugins/auto/thickbox2/next.gif
create mode 100644 www/plugins/auto/thickbox2/plugin.xml
create mode 100644 www/plugins/auto/thickbox2/prev.gif
create mode 100644 www/plugins/auto/thickbox2/svn.revision
create mode 100644 www/plugins/auto/thickbox2/thickbox.css
create mode 100644 www/plugins/auto/thickbox2/thickbox.png
create mode 100644 www/plugins/auto/thickbox2/thickbox_test.html
create mode 100644 www/plugins/auto/tradrub/action/dereferencer_traduction_rubrique.php
create mode 100644 www/plugins/auto/tradrub/action/referencer_traduction_rubrique.php
create mode 100644 www/plugins/auto/tradrub/base/tradrub.php
create mode 100644 www/plugins/auto/tradrub/base/tradrub_install.php
create mode 100644 www/plugins/auto/tradrub/formulaires/definir_traduction.html
create mode 100644 www/plugins/auto/tradrub/formulaires/definir_traduction.php
create mode 100644 www/plugins/auto/tradrub/images/credits.txt
create mode 100644 www/plugins/auto/tradrub/images/tradrub-128.png
create mode 100644 www/plugins/auto/tradrub/images/tradrub-22.png
create mode 100644 www/plugins/auto/tradrub/images/tradrub-48.png
create mode 100644 www/plugins/auto/tradrub/images/traductions-delete-24.gif
create mode 100644 www/plugins/auto/tradrub/inc/rubrique_select.php
create mode 100644 www/plugins/auto/tradrub/lang/tradrub_en.php
create mode 100644 www/plugins/auto/tradrub/lang/tradrub_fr.php
create mode 100644 www/plugins/auto/tradrub/modeles/rubrique_traductions.html
create mode 100644 www/plugins/auto/tradrub/plugin.xml
create mode 100644 www/plugins/auto/tradrub/prive/liste/traductions_rubrique.html
create mode 100644 www/plugins/auto/tradrub/prive/style_prive_plugin_tradrub.html
create mode 100644 www/plugins/auto/tradrub/prive/traduire/rubrique.html
create mode 100644 www/plugins/auto/tradrub/svn.revision
create mode 100644 www/plugins/auto/tradrub/tradrub_pipelines.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/action/changer_langue.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/css/images/ref.png
create mode 100644 www/plugins/auto/traduction_articles_autrement/css/taa_styles.css
create mode 100644 www/plugins/auto/traduction_articles_autrement/fonds/cfg_taa.html
create mode 100644 www/plugins/auto/traduction_articles_autrement/formulaires/configurer_taa.html
create mode 100644 www/plugins/auto/traduction_articles_autrement/img_pack/Translation-icon.png
create mode 100644 www/plugins/auto/traduction_articles_autrement/img_pack/Translation-icon_24.png
create mode 100644 www/plugins/auto/traduction_articles_autrement/img_pack/Translation-icon_32.png
create mode 100644 www/plugins/auto/traduction_articles_autrement/inc/barre_langues.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/lang/taa.xml
create mode 100644 www/plugins/auto/traduction_articles_autrement/lang/taa_ast.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/lang/taa_ca.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/lang/taa_de.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/lang/taa_en.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/lang/taa_es.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/lang/taa_fa.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/lang/taa_fr.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/lang/taa_fr_tu.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/lang/taa_pt_br.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/lang/taa_sk.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/plugin.xml
create mode 100644 www/plugins/auto/traduction_articles_autrement/prive/editer/barre_traductions_article.html
create mode 100644 www/plugins/auto/traduction_articles_autrement/prive/editer/colonne_documents_taa.html
create mode 100644 www/plugins/auto/traduction_articles_autrement/prive/liste/articles.html
create mode 100644 www/plugins/auto/traduction_articles_autrement/prive/liste/inc-articles.html
create mode 100644 www/plugins/auto/traduction_articles_autrement/prive/liste/inc-articles_compacte.html
create mode 100644 www/plugins/auto/traduction_articles_autrement/prive/liste/inc-articles_compacte_sections.html
create mode 100644 www/plugins/auto/traduction_articles_autrement/prive/liste/inc-articles_row.html
create mode 100644 www/plugins/auto/traduction_articles_autrement/prive/liste/inc-articles_row_trads.html
create mode 100644 www/plugins/auto/traduction_articles_autrement/prive/liste/inc-articles_trads_detail.html
create mode 100644 www/plugins/auto/traduction_articles_autrement/svn.revision
create mode 100644 www/plugins/auto/traduction_articles_autrement/taa_fonctions.php
create mode 100644 www/plugins/auto/traduction_articles_autrement/taa_pipelines.php
create mode 100644 www/plugins/auto/verifier/aide/verifier.html
create mode 100644 www/plugins/auto/verifier/aide/verifier_fonctions.php
create mode 100644 www/plugins/auto/verifier/images/icones-infos.txt
create mode 100644 www/plugins/auto/verifier/images/verifier-128.png
create mode 100644 www/plugins/auto/verifier/inc/is_email.php
create mode 100644 www/plugins/auto/verifier/inc/normaliser.php
create mode 100644 www/plugins/auto/verifier/inc/verifier.php
create mode 100644 www/plugins/auto/verifier/lang/paquet-verifier_en.php
create mode 100644 www/plugins/auto/verifier/lang/paquet-verifier_fr.php
create mode 100644 www/plugins/auto/verifier/lang/verifier.xml
create mode 100644 www/plugins/auto/verifier/lang/verifier_ca.php
create mode 100644 www/plugins/auto/verifier/lang/verifier_de.php
create mode 100644 www/plugins/auto/verifier/lang/verifier_en.php
create mode 100644 www/plugins/auto/verifier/lang/verifier_es.php
create mode 100644 www/plugins/auto/verifier/lang/verifier_fa.php
create mode 100644 www/plugins/auto/verifier/lang/verifier_fr.php
create mode 100644 www/plugins/auto/verifier/lang/verifier_fr_tu.php
create mode 100644 www/plugins/auto/verifier/lang/verifier_it.php
create mode 100644 www/plugins/auto/verifier/lang/verifier_pt_br.php
create mode 100644 www/plugins/auto/verifier/lang/verifier_sk.php
create mode 100644 www/plugins/auto/verifier/normaliser/datepicker.php
create mode 100644 www/plugins/auto/verifier/paquet.xml
create mode 100644 www/plugins/auto/verifier/plugin.xml
create mode 100644 www/plugins/auto/verifier/svn.revision
create mode 100644 www/plugins/auto/verifier/test/verifier.html
create mode 100644 www/plugins/auto/verifier/verifier/code_postal.php
create mode 100644 www/plugins/auto/verifier/verifier/comparaison_champ.php
create mode 100644 www/plugins/auto/verifier/verifier/date.php
create mode 100644 www/plugins/auto/verifier/verifier/date.yaml
create mode 100644 www/plugins/auto/verifier/verifier/decimal.php
create mode 100644 www/plugins/auto/verifier/verifier/decimal.yaml
create mode 100644 www/plugins/auto/verifier/verifier/email.php
create mode 100644 www/plugins/auto/verifier/verifier/email.yaml
create mode 100644 www/plugins/auto/verifier/verifier/entier.php
create mode 100644 www/plugins/auto/verifier/verifier/entier.yaml
create mode 100644 www/plugins/auto/verifier/verifier/id_document.php
create mode 100644 www/plugins/auto/verifier/verifier/regex.php
create mode 100644 www/plugins/auto/verifier/verifier/regex.yaml
create mode 100644 www/plugins/auto/verifier/verifier/siren_siret.php
create mode 100644 www/plugins/auto/verifier/verifier/siren_siret.yaml
create mode 100644 www/plugins/auto/verifier/verifier/taille.php
create mode 100644 www/plugins/auto/verifier/verifier/taille.yaml
create mode 100644 www/plugins/auto/verifier/verifier/telephone.php
create mode 100644 www/plugins/auto/verifier/verifier/telephone.yaml
create mode 100644 www/plugins/auto/verifier/verifier/url.php
create mode 100644 www/plugins/auto/verifier/verifier/url.yaml
create mode 100644 www/plugins/auto/verifier/verifier_pipelines.php
create mode 100644 www/plugins/auto/yaml/demo/iter_data_yaml.html
create mode 100644 www/plugins/auto/yaml/experimental/README
create mode 100644 www/plugins/auto/yaml/experimental/yaml.html
create mode 100644 www/plugins/auto/yaml/experimental/yaml_fonctions.php
create mode 100644 www/plugins/auto/yaml/inc/yaml.php
create mode 100644 www/plugins/auto/yaml/inc/yaml_sfyaml.php
create mode 100644 www/plugins/auto/yaml/inc/yaml_to_array.php
create mode 100644 www/plugins/auto/yaml/lang/paquet-yaml.xml
create mode 100644 www/plugins/auto/yaml/lang/paquet-yaml_en.php
create mode 100644 www/plugins/auto/yaml/lang/paquet-yaml_fr.php
create mode 100644 www/plugins/auto/yaml/lang/paquet-yaml_sk.php
create mode 100644 www/plugins/auto/yaml/paquet.xml
create mode 100644 www/plugins/auto/yaml/plugin.xml
create mode 100644 www/plugins/auto/yaml/sfyaml/sfYaml.php
create mode 100644 www/plugins/auto/yaml/sfyaml/sfYamlDumper.php
create mode 100644 www/plugins/auto/yaml/sfyaml/sfYamlInline.php
create mode 100644 www/plugins/auto/yaml/sfyaml/sfYamlParser.php
create mode 100644 www/plugins/auto/yaml/spyc/spyc-php4.php
create mode 100644 www/plugins/auto/yaml/spyc/spyc.php
create mode 100644 www/plugins/auto/yaml/svn.revision
create mode 100644 www/plugins/auto/yaml/yaml.png
create mode 100644 www/plugins/auto/yaml/yaml_fonctions.php
create mode 100644 www/plugins/auto/zen-garden/action/zengarden_activer_switcher.php
create mode 100644 www/plugins/auto/zen-garden/action/zengarden_activer_theme.php
create mode 100644 www/plugins/auto/zen-garden/img_pack/themes-128.png
create mode 100644 www/plugins/auto/zen-garden/img_pack/themes-24.png
create mode 100644 www/plugins/auto/zen-garden/img_pack/themes-48.png
create mode 100644 www/plugins/auto/zen-garden/img_pack/themes-64.png
create mode 100644 www/plugins/auto/zen-garden/inc/zengarden.php
create mode 100644 www/plugins/auto/zen-garden/inclure/zengarden_switcher.css
create mode 100644 www/plugins/auto/zen-garden/inclure/zengarden_switcher.html
create mode 100644 www/plugins/auto/zen-garden/inclure/zengarden_switcher.js
create mode 100644 www/plugins/auto/zen-garden/lang/zengarden_de.php
create mode 100644 www/plugins/auto/zen-garden/lang/zengarden_en.php
create mode 100644 www/plugins/auto/zen-garden/lang/zengarden_es.php
create mode 100644 www/plugins/auto/zen-garden/lang/zengarden_fr.php
create mode 100644 www/plugins/auto/zen-garden/plugin.xml
create mode 100644 www/plugins/auto/zen-garden/prive/exec/zengarden.html
create mode 100644 www/plugins/auto/zen-garden/prive/style_prive_plugin_zengarden.html
create mode 100644 www/plugins/auto/zen-garden/prive/themes/spip/images/themes-16.png
create mode 100644 www/plugins/auto/zen-garden/prive/zengarden_theme.html
create mode 100644 www/plugins/auto/zen-garden/prive/zengarden_theme_actif.html
create mode 100644 www/plugins/auto/zen-garden/prive/zengarden_theme_fonctions.php
create mode 100644 www/plugins/auto/zen-garden/spip20/plugins/get_infos.php
create mode 100644 www/plugins/auto/zen-garden/spip20/plugins/verifie_conformite.php
create mode 100644 www/plugins/auto/zen-garden/svn.revision
create mode 100644 www/plugins/auto/zen-garden/zengarden_options.php
create mode 100644 www/plugins/menus/action/editer_menu.php
create mode 100644 www/plugins/menus/action/editer_menus_entree.php
create mode 100644 www/plugins/menus/action/exporter_menu.php
create mode 100644 www/plugins/menus/action/supprimer_menu.php
create mode 100644 www/plugins/menus/balise/menus_afficher_entree.php
create mode 100644 www/plugins/menus/base/menus_tables.php
create mode 100644 www/plugins/menus/css/menuspip.css
create mode 100644 www/plugins/menus/formulaires/editer_menu.html
create mode 100644 www/plugins/menus/formulaires/editer_menu.php
create mode 100644 www/plugins/menus/formulaires/editer_menus_entree.html
create mode 100644 www/plugins/menus/formulaires/editer_menus_entree.php
create mode 100644 www/plugins/menus/formulaires/inc-menus_entrees.html
create mode 100644 www/plugins/menus/formulaires/inc-menus_entrees_inexistantes.html
create mode 100644 www/plugins/menus/formulaires/inc-nouvelle_entree-1.html
create mode 100644 www/plugins/menus/formulaires/inc-nouvelle_entree-2.html
create mode 100644 www/plugins/menus/images/export.png
create mode 100644 www/plugins/menus/images/menus-16.png
create mode 100644 www/plugins/menus/images/menus-24.png
create mode 100644 www/plugins/menus/images/menus-48.png
create mode 100644 www/plugins/menus/images/menus-nouveau-24.png
create mode 100644 www/plugins/menus/images/menus-nouveau-48.png
create mode 100644 www/plugins/menus/images/menus_accueil.png
create mode 100644 www/plugins/menus/images/menus_action_ajouter.png
create mode 100644 www/plugins/menus/images/menus_action_bas.png
create mode 100644 www/plugins/menus/images/menus_action_haut.png
create mode 100644 www/plugins/menus/images/menus_action_modifier.png
create mode 100644 www/plugins/menus/images/menus_action_supprimer.png
create mode 100644 www/plugins/menus/images/menus_articles_rubrique.png
create mode 100644 www/plugins/menus/images/menus_groupes_mots.png
create mode 100644 www/plugins/menus/images/menus_lien.png
create mode 100644 www/plugins/menus/images/menus_logout.png
create mode 100644 www/plugins/menus/images/menus_mapage.png
create mode 100644 www/plugins/menus/images/menus_mots.png
create mode 100644 www/plugins/menus/images/menus_objet.png
create mode 100644 www/plugins/menus/images/menus_page_speciale.png
create mode 100644 www/plugins/menus/images/menus_rubriques.png
create mode 100644 www/plugins/menus/images/menus_secteurlangue.png
create mode 100644 www/plugins/menus/images/menus_texte_libre.png
create mode 100644 www/plugins/menus/inc/menus.php
create mode 100644 www/plugins/menus/inc/menus_autoriser.php
create mode 100644 www/plugins/menus/inclure/barre-nav.html
create mode 100644 www/plugins/menus/inclure/menu.html
create mode 100644 www/plugins/menus/inclure/nav.html
create mode 100644 www/plugins/menus/lang/menus.xml
create mode 100644 www/plugins/menus/lang/menus_ca.php
create mode 100644 www/plugins/menus/lang/menus_de.php
create mode 100644 www/plugins/menus/lang/menus_en.php
create mode 100644 www/plugins/menus/lang/menus_es.php
create mode 100644 www/plugins/menus/lang/menus_fr.php
create mode 100644 www/plugins/menus/lang/menus_it.php
create mode 100644 www/plugins/menus/lang/menus_ru.php
create mode 100644 www/plugins/menus/lang/menus_sk.php
create mode 100644 www/plugins/menus/lang/paquet-menus_de.php
create mode 100644 www/plugins/menus/lang/paquet-menus_en.php
create mode 100644 www/plugins/menus/lang/paquet-menus_fr.php
create mode 100644 www/plugins/menus/lang/paquet-menus_it.php
create mode 100644 www/plugins/menus/menu.html
create mode 100644 www/plugins/menus/menus/accueil.html
create mode 100644 www/plugins/menus/menus/accueil.xml
create mode 100644 www/plugins/menus/menus/articles_rubrique.html
create mode 100644 www/plugins/menus/menus/articles_rubrique.xml
create mode 100644 www/plugins/menus/menus/deconnecter.html
create mode 100644 www/plugins/menus/menus/deconnecter.xml
create mode 100644 www/plugins/menus/menus/espace_prive.html
create mode 100644 www/plugins/menus/menus/espace_prive.xml
create mode 100644 www/plugins/menus/menus/groupe_mots.html
create mode 100644 www/plugins/menus/menus/groupe_mots.xml
create mode 100644 www/plugins/menus/menus/lien.html
create mode 100644 www/plugins/menus/menus/lien.xml
create mode 100644 www/plugins/menus/menus/mapage.html
create mode 100644 www/plugins/menus/menus/mapage.xml
create mode 100644 www/plugins/menus/menus/mots.html
create mode 100644 www/plugins/menus/menus/mots.xml
create mode 100644 www/plugins/menus/menus/objet.html
create mode 100644 www/plugins/menus/menus/objet.xml
create mode 100644 www/plugins/menus/menus/page_speciale.html
create mode 100644 www/plugins/menus/menus/page_speciale.xml
create mode 100644 www/plugins/menus/menus/page_speciale_zajax.html
create mode 100644 www/plugins/menus/menus/page_speciale_zajax.xml
create mode 100644 www/plugins/menus/menus/rubriques.html
create mode 100644 www/plugins/menus/menus/rubriques.xml
create mode 100644 www/plugins/menus/menus/secteurlangue.html
create mode 100644 www/plugins/menus/menus/secteurlangue.xml
create mode 100644 www/plugins/menus/menus/texte_libre.html
create mode 100644 www/plugins/menus/menus/texte_libre.xml
create mode 100644 www/plugins/menus/menus_administrations.php
create mode 100644 www/plugins/menus/menus_fonctions.php
create mode 100644 www/plugins/menus/menus_ieconfig.php
create mode 100644 www/plugins/menus/menus_options.php
create mode 100644 www/plugins/menus/menus_pipelines.php
create mode 100644 www/plugins/menus/noisettes/menu.html
create mode 100644 www/plugins/menus/noisettes/menu.yaml
create mode 100644 www/plugins/menus/paquet.xml
create mode 100644 www/plugins/menus/plugin.xml
create mode 100644 www/plugins/menus/prive/exec/menus_editer.html
create mode 100644 www/plugins/menus/prive/exec/menus_tous.html
create mode 100644 www/plugins/menus/prive/squelettes/contenu/menus_editer.html
create mode 100644 www/plugins/menus/prive/squelettes/contenu/menus_tous.html
create mode 100644 www/plugins/menus/prive/squelettes/navigation/menus_editer.html
create mode 100644 www/plugins/menus/prive/themes/spip/images/menu-exporter-24.png
create mode 100644 www/plugins/menus/prive/themes/spip/images/menus-16.png
create mode 100644 www/plugins/menus/prive/themes/spip/images/menus-24.png
create mode 100644 www/plugins/menus/saisies-vues/menu.html
create mode 100644 www/plugins/menus/saisies-vues/menus_multiple.html
create mode 100644 www/plugins/menus/saisies/menu.html
create mode 100644 www/plugins/menus/saisies/menus_multiple.html
create mode 100644 www/plugins/menus/svn.revision
create mode 100644 www/plugins/squelette_maparaan/contenu/article.html
create mode 100644 www/plugins/squelette_maparaan/contenu/auteur.html
create mode 100644 www/plugins/squelette_maparaan/contenu/breve.html
create mode 100644 www/plugins/squelette_maparaan/contenu/mot.html
create mode 100644 www/plugins/squelette_maparaan/contenu/page-forum.html
create mode 100644 www/plugins/squelette_maparaan/contenu/page-login.html
create mode 100644 www/plugins/squelette_maparaan/contenu/page-plan.html
create mode 100644 www/plugins/squelette_maparaan/contenu/page-recherche.html
create mode 100644 www/plugins/squelette_maparaan/contenu/page-sommaire.html
create mode 100644 www/plugins/squelette_maparaan/contenu/page-spip_pass.html
create mode 100644 www/plugins/squelette_maparaan/contenu/rubrique.html
create mode 100644 www/plugins/squelette_maparaan/contenu/site.html
create mode 100644 www/plugins/squelette_maparaan/css/_style_maparaan.css
create mode 100644 www/plugins/squelette_maparaan/css/slidernav.css
create mode 100644 www/plugins/squelette_maparaan/extra/article.html
create mode 100644 www/plugins/squelette_maparaan/extra/auteur.html
create mode 100644 www/plugins/squelette_maparaan/extra/breve.html
create mode 100644 www/plugins/squelette_maparaan/extra/mot.html
create mode 100644 www/plugins/squelette_maparaan/extra/page-sommaire.html
create mode 100644 www/plugins/squelette_maparaan/extra/rubrique.html
create mode 100644 www/plugins/squelette_maparaan/extra/site.html
create mode 100644 www/plugins/squelette_maparaan/formulaires/ecrire_auteur.html
create mode 100644 www/plugins/squelette_maparaan/formulaires/forum.html
create mode 100644 www/plugins/squelette_maparaan/formulaires/inc-forum_bloc_choix_mots.html
create mode 100644 www/plugins/squelette_maparaan/formulaires/inc-login_forum.html
create mode 100644 www/plugins/squelette_maparaan/formulaires/inscription.html
create mode 100644 www/plugins/squelette_maparaan/formulaires/recherche.html
create mode 100644 www/plugins/squelette_maparaan/formulaires/signature.html
create mode 100644 www/plugins/squelette_maparaan/formulaires/site.html
create mode 100644 www/plugins/squelette_maparaan/img/bg-comment-odd-callout.png
create mode 100644 www/plugins/squelette_maparaan/img/bg-featsubs-b.gif
create mode 100644 www/plugins/squelette_maparaan/img/bg-featsubs-m.gif
create mode 100644 www/plugins/squelette_maparaan/img/bg-featsubs-t.gif
create mode 100644 www/plugins/squelette_maparaan/img/bg-lirelasuite.jpg
create mode 100644 www/plugins/squelette_maparaan/img/bg-post-box-author.png
create mode 100644 www/plugins/squelette_maparaan/img/bg-post-box-comment-add.png
create mode 100644 www/plugins/squelette_maparaan/img/bg-post-box-comments.png
create mode 100644 www/plugins/squelette_maparaan/img/bg-post-box-related-posts.png
create mode 100644 www/plugins/squelette_maparaan/img/bg-post-box-spread-love.png
create mode 100644 www/plugins/squelette_maparaan/img/bg-post-box-trackbacks.png
create mode 100644 www/plugins/squelette_maparaan/img/bg-sidebar-title.png
create mode 100644 www/plugins/squelette_maparaan/img/bg-subscribed-list-item.png
create mode 100644 www/plugins/squelette_maparaan/img/bg-title-page-1.png
create mode 100644 www/plugins/squelette_maparaan/img/border-footer-list-menu-entree.gif
create mode 100644 www/plugins/squelette_maparaan/img/border-footer-list.gif
create mode 100644 www/plugins/squelette_maparaan/img/border-sidebar-list-item.gif
create mode 100644 www/plugins/squelette_maparaan/img/bullet-footer-list-item.gif
create mode 100644 www/plugins/squelette_maparaan/img/bullet-sidebar-list-item.gif
create mode 100644 www/plugins/squelette_maparaan/img/slidernav-contact.png
create mode 100644 www/plugins/squelette_maparaan/img/slidernav-facebook.png
create mode 100644 www/plugins/squelette_maparaan/img/slidernav-rss.png
create mode 100644 www/plugins/squelette_maparaan/img/slidernav-twitter.png
create mode 100644 www/plugins/squelette_maparaan/img/thumbnail.jpg
create mode 100644 www/plugins/squelette_maparaan/inc-footer-content.html
create mode 100644 www/plugins/squelette_maparaan/inc-theme-head.html
create mode 100644 www/plugins/squelette_maparaan/inclure/article-resume.html
create mode 100644 www/plugins/squelette_maparaan/inclure/documents.html
create mode 100644 www/plugins/squelette_maparaan/inclure/entete.html
create mode 100644 www/plugins/squelette_maparaan/inclure/forum.html
create mode 100644 www/plugins/squelette_maparaan/inclure/petition.html
create mode 100644 www/plugins/squelette_maparaan/inclure/pied.html
create mode 100644 www/plugins/squelette_maparaan/inclure/rubriques.html
create mode 100644 www/plugins/squelette_maparaan/js/jquery.s3slider.js
create mode 100644 www/plugins/squelette_maparaan/modeles/article_traductions.html
create mode 100644 www/plugins/squelette_maparaan/navigation/dist.html
create mode 100644 www/plugins/squelette_maparaan/plugin.xml
create mode 100644 www/plugins/squelette_maparaan/squelette_maparaan_pipelines.php
create mode 100644 www/plugins/squelette_maparaan/svn.revision
create mode 100644 www/plugins/squelette_maparaan/vignette.jpg
create mode 100644 www/plugins/zpip_v1/404.html
create mode 100644 www/plugins/zpip_v1/article.html
create mode 100644 www/plugins/zpip_v1/auteur.html
create mode 100644 www/plugins/zpip_v1/backend.html
create mode 100644 www/plugins/zpip_v1/body.html
create mode 100644 www/plugins/zpip_v1/breve.html
create mode 100644 www/plugins/zpip_v1/contenu/article.html
create mode 100644 www/plugins/zpip_v1/contenu/auteur.html
create mode 100644 www/plugins/zpip_v1/contenu/breve.html
create mode 100644 www/plugins/zpip_v1/contenu/mot.html
create mode 100644 www/plugins/zpip_v1/contenu/page-401.html
create mode 100644 www/plugins/zpip_v1/contenu/page-404.html
create mode 100644 www/plugins/zpip_v1/contenu/page-forum.html
create mode 100644 www/plugins/zpip_v1/contenu/page-login.html
create mode 100644 www/plugins/zpip_v1/contenu/page-plan.html
create mode 100644 www/plugins/zpip_v1/contenu/page-recherche.html
create mode 100644 www/plugins/zpip_v1/contenu/page-sommaire.html
create mode 100644 www/plugins/zpip_v1/contenu/page-spip_pass.html
create mode 100644 www/plugins/zpip_v1/contenu/page.html
create mode 100644 www/plugins/zpip_v1/contenu/rubrique.html
create mode 100644 www/plugins/zpip_v1/contenu/site.html
create mode 100644 www/plugins/zpip_v1/contenu/z_apl.html
create mode 100644 www/plugins/zpip_v1/conventions.txt
create mode 100644 www/plugins/zpip_v1/extra/article.html
create mode 100644 www/plugins/zpip_v1/extra/auteur.html
create mode 100644 www/plugins/zpip_v1/extra/breve.html
create mode 100644 www/plugins/zpip_v1/extra/dist.html
create mode 100644 www/plugins/zpip_v1/extra/mot.html
create mode 100644 www/plugins/zpip_v1/extra/page-sommaire.html
create mode 100644 www/plugins/zpip_v1/extra/page.html
create mode 100644 www/plugins/zpip_v1/extra/rubrique.html
create mode 100644 www/plugins/zpip_v1/extra/site.html
create mode 100644 www/plugins/zpip_v1/extra/z_apl.html
create mode 100644 www/plugins/zpip_v1/forum.html
create mode 100644 www/plugins/zpip_v1/habillage.css
create mode 100644 www/plugins/zpip_v1/head/article.html
create mode 100644 www/plugins/zpip_v1/head/auteur.html
create mode 100644 www/plugins/zpip_v1/head/breve.html
create mode 100644 www/plugins/zpip_v1/head/dist.html
create mode 100644 www/plugins/zpip_v1/head/mot.html
create mode 100644 www/plugins/zpip_v1/head/page-404.html
create mode 100644 www/plugins/zpip_v1/head/page-plan.html
create mode 100644 www/plugins/zpip_v1/head/page-recherche.html
create mode 100644 www/plugins/zpip_v1/head/page-sommaire.html
create mode 100644 www/plugins/zpip_v1/head/page.html
create mode 100644 www/plugins/zpip_v1/head/rubrique.html
create mode 100644 www/plugins/zpip_v1/head/site.html
create mode 100644 www/plugins/zpip_v1/img/out.gif
create mode 100644 www/plugins/zpip_v1/img/zpip-128.png
create mode 100644 www/plugins/zpip_v1/img/zpip-16.png
create mode 100644 www/plugins/zpip_v1/img/zpip-32.png
create mode 100644 www/plugins/zpip_v1/img/zpip-48.png
create mode 100644 www/plugins/zpip_v1/img/zpip-64.png
create mode 100644 www/plugins/zpip_v1/inclure/ajax_parallel_load.html
create mode 100644 www/plugins/zpip_v1/inclure/article-resume.html
create mode 100644 www/plugins/zpip_v1/inclure/barre-nav-secteurs.html
create mode 100644 www/plugins/zpip_v1/inclure/barre-nav.html
create mode 100644 www/plugins/zpip_v1/inclure/documents.html
create mode 100644 www/plugins/zpip_v1/inclure/entete.html
create mode 100644 www/plugins/zpip_v1/inclure/forum.html
create mode 100644 www/plugins/zpip_v1/inclure/head.html
create mode 100644 www/plugins/zpip_v1/inclure/petition.html
create mode 100644 www/plugins/zpip_v1/inclure/pied.html
create mode 100644 www/plugins/zpip_v1/inclure/rss-item.html
create mode 100644 www/plugins/zpip_v1/inclure/rubriques.html
create mode 100644 www/plugins/zpip_v1/lang/zpip_de.php
create mode 100644 www/plugins/zpip_v1/lang/zpip_en.php
create mode 100644 www/plugins/zpip_v1/lang/zpip_es.php
create mode 100644 www/plugins/zpip_v1/lang/zpip_fr.php
create mode 100644 www/plugins/zpip_v1/lang/zpip_nl.php
create mode 100644 www/plugins/zpip_v1/lang/zpip_pt.php
create mode 100644 www/plugins/zpip_v1/lang/zpip_sv.php
create mode 100644 www/plugins/zpip_v1/login.html
create mode 100644 www/plugins/zpip_v1/mot.html
create mode 100644 www/plugins/zpip_v1/navigation/dist.html
create mode 100644 www/plugins/zpip_v1/navigation/page.html
create mode 100644 www/plugins/zpip_v1/navigation/z_apl.html
create mode 100644 www/plugins/zpip_v1/objet.html
create mode 100644 www/plugins/zpip_v1/page.html
create mode 100644 www/plugins/zpip_v1/plan.html
create mode 100644 www/plugins/zpip_v1/plugin.xml
create mode 100644 www/plugins/zpip_v1/recherche.html
create mode 100644 www/plugins/zpip_v1/rubrique.html
create mode 100644 www/plugins/zpip_v1/site.html
create mode 100644 www/plugins/zpip_v1/sommaire.html
create mode 100644 www/plugins/zpip_v1/spip_pass.html
create mode 100644 www/plugins/zpip_v1/spip_style.css
create mode 100644 www/plugins/zpip_v1/structure.html
create mode 100644 www/plugins/zpip_v1/svn.revision
create mode 100644 www/plugins/zpip_v1/tests/z_scaffoldable.php
create mode 100644 www/plugins/zpip_v1/z_options.php
create mode 100644 www/plugins/zpip_v1/z_pipelines.php
create mode 100644 www/prive/aide_body.css
create mode 100644 www/prive/aide_menu.html
create mode 100644 www/prive/contenu/article.html
create mode 100644 www/prive/contenu/breve.html
create mode 100644 www/prive/contenu/item_rss_plugin.html
create mode 100644 www/prive/contenu/rubrique.html
create mode 100644 www/prive/contenu/site.html
create mode 100644 www/prive/contenu/syndic_article.html
create mode 100644 www/prive/editer/article.html
create mode 100644 www/prive/editer/auteur.html
create mode 100644 www/prive/editer/breve.html
create mode 100644 www/prive/editer/groupe_mot.html
create mode 100644 www/prive/editer/mot.html
create mode 100644 www/prive/editer/rubrique.html
create mode 100644 www/prive/editer/site.html
create mode 100644 www/prive/formulaires/editer_article.html
create mode 100644 www/prive/formulaires/editer_article.php
create mode 100644 www/prive/formulaires/editer_auteur.html
create mode 100644 www/prive/formulaires/editer_auteur.php
create mode 100644 www/prive/formulaires/editer_breve.html
create mode 100644 www/prive/formulaires/editer_breve.php
create mode 100644 www/prive/formulaires/editer_groupe_mot.html
create mode 100644 www/prive/formulaires/editer_groupe_mot.php
create mode 100644 www/prive/formulaires/editer_mot.html
create mode 100644 www/prive/formulaires/editer_mot.php
create mode 100644 www/prive/formulaires/editer_rubrique.html
create mode 100644 www/prive/formulaires/editer_rubrique.php
create mode 100644 www/prive/formulaires/editer_site.html
create mode 100644 www/prive/formulaires/editer_site.php
create mode 100644 www/prive/formulaires/editer_site_fonctions.php
create mode 100644 www/prive/formulaires/inc-logo_auteur.html
create mode 100644 www/prive/formulaires/login.html
create mode 100644 www/prive/formulaires/login.php
create mode 100644 www/prive/formulaires/menu_lang.html
create mode 100644 www/prive/formulaires/selecteur_groupe_mot.html
create mode 100644 www/prive/formulaires/selecteur_groupe_mot_fonctions.php
create mode 100644 www/prive/ical_prive.html
create mode 100644 www/prive/images/admin-12.gif
create mode 100644 www/prive/images/administration-24.gif
create mode 100644 www/prive/images/administration-48.png
create mode 100644 www/prive/images/agenda-24.gif
create mode 100644 www/prive/images/aide-12.png
create mode 100644 www/prive/images/aide-12_rtl.png
create mode 100644 www/prive/images/aide-48.png
create mode 100644 www/prive/images/aide-48_rtl.png
create mode 100644 www/prive/images/aide.gif
create mode 100644 www/prive/images/aide_rtl.gif
create mode 100644 www/prive/images/annonce.gif
create mode 100644 www/prive/images/arrow_left.gif
create mode 100644 www/prive/images/arrow_right.gif
create mode 100644 www/prive/images/article-24.gif
create mode 100644 www/prive/images/asuivre-24.gif
create mode 100644 www/prive/images/asuivre-48.png
create mode 100644 www/prive/images/attachment.gif
create mode 100644 www/prive/images/auteur-24.gif
create mode 100644 www/prive/images/barre-blanc.gif
create mode 100644 www/prive/images/barre-d.gif
create mode 100644 www/prive/images/barre-g.gif
create mode 100644 www/prive/images/barre-noir.gif
create mode 100644 www/prive/images/base-24.gif
create mode 100644 www/prive/images/bonhomme-12.png
create mode 100644 www/prive/images/breve-24.gif
create mode 100644 www/prive/images/cache-24.gif
create mode 100644 www/prive/images/cadenas-24.gif
create mode 100644 www/prive/images/cal-jour.gif
create mode 100644 www/prive/images/cal-messagerie.png
create mode 100644 www/prive/images/cal-mois.gif
create mode 100644 www/prive/images/cal-rv.png
create mode 100644 www/prive/images/cal-semaine.gif
create mode 100644 www/prive/images/cal-suivi.png
create mode 100644 www/prive/images/cal-today.gif
create mode 100644 www/prive/images/calendrier-24.gif
create mode 100644 www/prive/images/cfg-16.png
create mode 100644 www/prive/images/chemin-fond-left.gif
create mode 100644 www/prive/images/chemin-fond-right.gif
create mode 100644 www/prive/images/choix-layout.gif
create mode 100644 www/prive/images/choix-layout_rtl.gif
create mode 100644 www/prive/images/choix-layout_rtl_he.gif
create mode 100644 www/prive/images/cookie-24.gif
create mode 100644 www/prive/images/creer.gif
create mode 100644 www/prive/images/croix-rouge.gif
create mode 100644 www/prive/images/deconnecter-24.gif
create mode 100644 www/prive/images/degrade-etapes-clair-left.gif
create mode 100644 www/prive/images/degrade-etapes-clair-right.gif
create mode 100644 www/prive/images/degrade-etapes-fonce-left.gif
create mode 100644 www/prive/images/degrade-etapes-fonce-right.gif
create mode 100644 www/prive/images/degrade-etapes-rouge-left.gif
create mode 100644 www/prive/images/degrade-etapes-rouge-right.gif
create mode 100644 www/prive/images/degrade-etapes-vert-left.gif
create mode 100644 www/prive/images/degrade-etapes-vert-right.gif
create mode 100644 www/prive/images/degrade.jpg
create mode 100644 www/prive/images/deplierbas.gif
create mode 100644 www/prive/images/deplierhaut.gif
create mode 100644 www/prive/images/deplierhaut_rtl.gif
create mode 100644 www/prive/images/descendre-16.png
create mode 100644 www/prive/images/doc-24.gif
create mode 100644 www/prive/images/documents-48.png
create mode 100644 www/prive/images/documents-48_rtl.png
create mode 100644 www/prive/images/edit.gif
create mode 100644 www/prive/images/effacer-cache-24.gif
create mode 100644 www/prive/images/envoi-message-24.gif
create mode 100644 www/prive/images/etape-encours.gif
create mode 100644 www/prive/images/etape-encours.png
create mode 100644 www/prive/images/etape-ok.gif
create mode 100644 www/prive/images/etape-ok.png
create mode 100644 www/prive/images/etape-todo.gif
create mode 100644 www/prive/images/etape-todo.png
create mode 100644 www/prive/images/feed.png
create mode 100644 www/prive/images/fiche-perso-24.gif
create mode 100644 www/prive/images/fiche-perso.png
create mode 100644 www/prive/images/fleche-left.png
create mode 100644 www/prive/images/fleche-right.png
create mode 100644 www/prive/images/fond-agenda.gif
create mode 100644 www/prive/images/fond-calendrier.gif
create mode 100644 www/prive/images/fond-fondo.gif
create mode 100644 www/prive/images/fond-grille.gif
create mode 100644 www/prive/images/fond-gris-anim.gif
create mode 100644 www/prive/images/fond-inclure.png
create mode 100644 www/prive/images/fond-stats.gif
create mode 100644 www/prive/images/formulaire-editer.jpg
create mode 100644 www/prive/images/forum-admin-24.gif
create mode 100644 www/prive/images/forum-droite.gif
create mode 100644 www/prive/images/forum-droite_rtl.gif
create mode 100644 www/prive/images/forum-interne-24.gif
create mode 100644 www/prive/images/forum-public-24.gif
create mode 100644 www/prive/images/forum-vert.gif
create mode 100644 www/prive/images/groupe-mot-24.gif
create mode 100644 www/prive/images/heures-am.png
create mode 100644 www/prive/images/heures-pm.png
create mode 100644 www/prive/images/heures-tout.png
create mode 100644 www/prive/images/historique-24.gif
create mode 100644 www/prive/images/image-24.gif
create mode 100644 www/prive/images/index.php
create mode 100644 www/prive/images/interface-display-comp.png
create mode 100644 www/prive/images/interface-display.png
create mode 100644 www/prive/images/jauge-fond.gif
create mode 100644 www/prive/images/jauge-jaune.gif
create mode 100644 www/prive/images/jauge-rouge.gif
create mode 100644 www/prive/images/jauge-test-gd.gif
create mode 100644 www/prive/images/jauge-vert.gif
create mode 100644 www/prive/images/label-fond-compact-left.gif
create mode 100644 www/prive/images/label-fond-compact-right.gif
create mode 100644 www/prive/images/label-fond-gauche-left.gif
create mode 100644 www/prive/images/label-fond-gauche-right.gif
create mode 100644 www/prive/images/label-fond-haut-left.gif
create mode 100644 www/prive/images/label-fond-haut-right.gif
create mode 100644 www/prive/images/langues-12.gif
create mode 100644 www/prive/images/langues-24.gif
create mode 100644 www/prive/images/langues-modif-12.gif
create mode 100644 www/prive/images/langues-off-12.gif
create mode 100644 www/prive/images/loader.gif
create mode 100644 www/prive/images/logo-spip.gif
create mode 100644 www/prive/images/logo-spip2.gif
create mode 100644 www/prive/images/logo_spip.jpg
create mode 100644 www/prive/images/loupe-moins.gif
create mode 100644 www/prive/images/loupe-plus.gif
create mode 100644 www/prive/images/loupe.png
create mode 100644 www/prive/images/m_envoi.gif
create mode 100644 www/prive/images/m_envoi_bleu.gif
create mode 100644 www/prive/images/m_envoi_bleu_rtl.gif
create mode 100644 www/prive/images/m_envoi_jaune.gif
create mode 100644 www/prive/images/m_envoi_jaune_rtl.gif
create mode 100644 www/prive/images/m_envoi_rtl.gif
create mode 100644 www/prive/images/mail-auto-24.gif
create mode 100644 www/prive/images/mail-forum-24.gif
create mode 100644 www/prive/images/message.gif
create mode 100644 www/prive/images/message_erreur-24.png
create mode 100644 www/prive/images/message_notice-24.png
create mode 100644 www/prive/images/message_ok-24.png
create mode 100644 www/prive/images/messagerie-24.gif
create mode 100644 www/prive/images/messagerie-48.png
create mode 100644 www/prive/images/minipres-gris.png
create mode 100644 www/prive/images/monter-16.png
create mode 100644 www/prive/images/mot-cle-24.gif
create mode 100644 www/prive/images/naviguer-site.png
create mode 100644 www/prive/images/noeud_moins.gif
create mode 100644 www/prive/images/noeud_plus.gif
create mode 100644 www/prive/images/pale.gif
create mode 100644 www/prive/images/pense-bete.gif
create mode 100644 www/prive/images/petite-cle.gif
create mode 100644 www/prive/images/petition-24.gif
create mode 100644 www/prive/images/plugin-24.gif
create mode 100644 www/prive/images/plus.gif
create mode 100644 www/prive/images/poubelle.gif
create mode 100644 www/prive/images/puce-blanche-anim.gif
create mode 100644 www/prive/images/puce-blanche-breve.gif
create mode 100644 www/prive/images/puce-blanche.gif
create mode 100644 www/prive/images/puce-orange-anim.gif
create mode 100644 www/prive/images/puce-orange-breve.gif
create mode 100644 www/prive/images/puce-orange.gif
create mode 100644 www/prive/images/puce-poubelle-anim.gif
create mode 100644 www/prive/images/puce-poubelle-breve.gif
create mode 100644 www/prive/images/puce-poubelle.gif
create mode 100644 www/prive/images/puce-rouge-anim.gif
create mode 100644 www/prive/images/puce-rouge-breve.gif
create mode 100644 www/prive/images/puce-rouge.gif
create mode 100644 www/prive/images/puce-verte-anim.gif
create mode 100644 www/prive/images/puce-verte-breve.gif
create mode 100644 www/prive/images/puce-verte.gif
create mode 100644 www/prive/images/racine-24.gif
create mode 100644 www/prive/images/racine-site-12.gif
create mode 100644 www/prive/images/racine-site-24.gif
create mode 100644 www/prive/images/rayures-danger.gif
create mode 100644 www/prive/images/rayures-danger.png
create mode 100644 www/prive/images/rayures-fines.gif
create mode 100644 www/prive/images/rayures-gris.gif
create mode 100644 www/prive/images/rayures-sup.gif
create mode 100644 www/prive/images/rayures.gif
create mode 100644 www/prive/images/redac-12.gif
create mode 100644 www/prive/images/redacteurs-24.gif
create mode 100644 www/prive/images/redacteurs-48.png
create mode 100644 www/prive/images/referers-24.gif
create mode 100644 www/prive/images/rien.gif
create mode 100644 www/prive/images/rond-b.gif
create mode 100644 www/prive/images/rond-bd.gif
create mode 100644 www/prive/images/rond-bg.gif
create mode 100644 www/prive/images/rond-d.gif
create mode 100644 www/prive/images/rond-g.gif
create mode 100644 www/prive/images/rond-h-24.gif
create mode 100644 www/prive/images/rond-hd-24.gif
create mode 100644 www/prive/images/rond-hg-24.gif
create mode 100644 www/prive/images/rubrique-12.gif
create mode 100644 www/prive/images/rubrique-24.gif
create mode 100644 www/prive/images/rv-12.gif
create mode 100644 www/prive/images/rv.gif
create mode 100644 www/prive/images/sans-heure.gif
create mode 100644 www/prive/images/searching.gif
create mode 100644 www/prive/images/secteur-12.gif
create mode 100644 www/prive/images/secteur-24.gif
create mode 100644 www/prive/images/securise.gif
create mode 100644 www/prive/images/set-ecran-etroit.png
create mode 100644 www/prive/images/set-ecran.png
create mode 100644 www/prive/images/site-24.gif
create mode 100644 www/prive/images/spip-pack-24.png
create mode 100644 www/prive/images/spip_out.gif
create mode 100644 www/prive/images/statistiques-24.gif
create mode 100644 www/prive/images/statistiques-48.png
create mode 100644 www/prive/images/suivi-forum-24.gif
create mode 100644 www/prive/images/suivi-petition-24.gif
create mode 100644 www/prive/images/supprimer-sansdanger.gif
create mode 100644 www/prive/images/supprimer.gif
create mode 100644 www/prive/images/synchro-24.gif
create mode 100644 www/prive/images/tab.png
create mode 100644 www/prive/images/telecharger-16.png
create mode 100644 www/prive/images/telecharger.gif
create mode 100644 www/prive/images/test.gif
create mode 100644 www/prive/images/test.jpg
create mode 100644 www/prive/images/test.png
create mode 100644 www/prive/images/test_image.jpg
create mode 100644 www/prive/images/tirets-separation.gif
create mode 100644 www/prive/images/tourner-demitour-10.gif
create mode 100644 www/prive/images/tourner-droite-10.gif
create mode 100644 www/prive/images/tourner-gauche-10.gif
create mode 100644 www/prive/images/tout-site-24.gif
create mode 100644 www/prive/images/tout-site.png
create mode 100644 www/prive/images/traductions-24.gif
create mode 100644 www/prive/images/triangle-bas.gif
create mode 100644 www/prive/images/triangle-bleu-bas.gif
create mode 100644 www/prive/images/triangle-bleu.gif
create mode 100644 www/prive/images/triangle-droite.gif
create mode 100644 www/prive/images/triangle-droite_rtl.gif
create mode 100644 www/prive/images/triangle.gif
create mode 100644 www/prive/images/triangle_rtl.gif
create mode 100644 www/prive/images/vignette-24.png
create mode 100644 www/prive/images/visit-12.gif
create mode 100644 www/prive/images/visiter-48.png
create mode 100644 www/prive/images/visiter-48_rtl.png
create mode 100644 www/prive/images/warning-24.gif
create mode 100644 www/prive/images/warning.gif
create mode 100644 www/prive/images/wrapper.php
create mode 100644 www/prive/images/xml.gif
create mode 100644 www/prive/informer_auteur.html
create mode 100644 www/prive/informer_auteur_fonctions.php
create mode 100644 www/prive/infos/article.html
create mode 100644 www/prive/infos/article_fonctions.php
create mode 100644 www/prive/infos/auteur.html
create mode 100644 www/prive/infos/breve.html
create mode 100644 www/prive/infos/breve_fonctions.php
create mode 100644 www/prive/infos/rubrique.html
create mode 100644 www/prive/infos/site.html
create mode 100644 www/prive/infos/site_fonctions.php
create mode 100644 www/prive/javascript/SearchHighlight.js
create mode 100644 www/prive/javascript/ajaxCallback.js
create mode 100644 www/prive/javascript/articles_tous_edite.js
create mode 100644 www/prive/javascript/async_upload.js
create mode 100644 www/prive/javascript/bgiframe.js
create mode 100644 www/prive/javascript/gadgets.js
create mode 100644 www/prive/javascript/jquery-ui-1.8-drag-drop.min.js
create mode 100644 www/prive/javascript/jquery.autosave.js
create mode 100644 www/prive/javascript/jquery.cookie.js
create mode 100644 www/prive/javascript/jquery.form.js
create mode 100644 www/prive/javascript/jquery.js
create mode 100644 www/prive/javascript/layer.js
create mode 100644 www/prive/javascript/login.js
create mode 100644 www/prive/javascript/md5.js
create mode 100644 www/prive/javascript/multilang.js
create mode 100644 www/prive/javascript/pause.js
create mode 100644 www/prive/javascript/presentation.js
create mode 100644 www/prive/javascript/sha256.js
create mode 100644 www/prive/javascript/spip_barre.js
create mode 100644 www/prive/login.html
create mode 100644 www/prive/minipres.css
create mode 100644 www/prive/modeles/application.html
create mode 100644 www/prive/modeles/audio.html
create mode 100644 www/prive/modeles/cfg.html
create mode 100644 www/prive/modeles/doc.html
create mode 100644 www/prive/modeles/emb.html
create mode 100644 www/prive/modeles/formulaire.html
create mode 100644 www/prive/modeles/image.html
create mode 100644 www/prive/modeles/img.html
create mode 100644 www/prive/modeles/pagination.html
create mode 100644 www/prive/modeles/pagination_page.html
create mode 100644 www/prive/modeles/pagination_page_precedent_suivant.html
create mode 100644 www/prive/modeles/pagination_precedent_suivant.html
create mode 100644 www/prive/modeles/paginationitem.html
create mode 100644 www/prive/modeles/text.html
create mode 100644 www/prive/modeles/video.html
create mode 100644 www/prive/puce_prive.gif
create mode 100644 www/prive/puce_prive_rtl.gif
create mode 100644 www/prive/rss.html
create mode 100644 www/prive/rss/a_suivre.html
create mode 100644 www/prive/rss/forums.html
create mode 100644 www/prive/rss/forums_interne.html
create mode 100644 www/prive/rss/forums_prop.html
create mode 100644 www/prive/rss/forums_public.html
create mode 100644 www/prive/rss/forums_spam.html
create mode 100644 www/prive/rss/forums_vide.html
create mode 100644 www/prive/rss/messagerie.html
create mode 100644 www/prive/rss/revisions.html
create mode 100644 www/prive/rss/signatures.html
create mode 100644 www/prive/rss_fonctions.php
create mode 100644 www/prive/spip_admin.css
create mode 100644 www/prive/spip_pass.html
create mode 100644 www/prive/spip_style.css
create mode 100644 www/prive/spip_style_invisible.css
create mode 100644 www/prive/spip_style_print.css
create mode 100644 www/prive/spip_style_visible.css
create mode 100644 www/prive/stats/echelle.html
create mode 100644 www/prive/style_prive.html
create mode 100644 www/prive/style_prive_defaut.css
create mode 100644 www/prive/style_prive_formulaires.html
create mode 100644 www/prive/style_prive_ie.html
create mode 100644 www/prive/style_prive_plugins.html
create mode 100644 www/prive/style_prive_plugins_fonctions.php
create mode 100644 www/prive/style_vieilles_def.html
create mode 100644 www/prive/transmettre.html
create mode 100644 www/prive/transmettre/forum_article.html
create mode 100644 www/prive/transmettre/signatures_article.html
create mode 100644 www/prive/transmettre/statistiques.html
create mode 100644 www/prive/transmettre/statistiques_article.html
create mode 100644 www/prive/vignettes/abw.png
create mode 100644 www/prive/vignettes/ai.png
create mode 100644 www/prive/vignettes/aiff.png
create mode 100644 www/prive/vignettes/asf.png
create mode 100644 www/prive/vignettes/avi.png
create mode 100644 www/prive/vignettes/bin.png
create mode 100644 www/prive/vignettes/blend.png
create mode 100644 www/prive/vignettes/bmp.png
create mode 100644 www/prive/vignettes/bz2.png
create mode 100644 www/prive/vignettes/c.png
create mode 100644 www/prive/vignettes/css.png
create mode 100644 www/prive/vignettes/csv.png
create mode 100644 www/prive/vignettes/deb.png
create mode 100644 www/prive/vignettes/defaut.png
create mode 100644 www/prive/vignettes/djvu.png
create mode 100644 www/prive/vignettes/doc.png
create mode 100644 www/prive/vignettes/dvi.png
create mode 100644 www/prive/vignettes/eps.png
create mode 100644 www/prive/vignettes/flv.png
create mode 100644 www/prive/vignettes/gif.png
create mode 100644 www/prive/vignettes/gz.png
create mode 100644 www/prive/vignettes/h.png
create mode 100644 www/prive/vignettes/html.png
create mode 100644 www/prive/vignettes/index.php
create mode 100644 www/prive/vignettes/jpg.png
create mode 100644 www/prive/vignettes/kml.png
create mode 100644 www/prive/vignettes/kmz.png
create mode 100644 www/prive/vignettes/mid.png
create mode 100644 www/prive/vignettes/mka.png
create mode 100644 www/prive/vignettes/mkv.png
create mode 100644 www/prive/vignettes/mng.png
create mode 100644 www/prive/vignettes/mov.png
create mode 100644 www/prive/vignettes/mp3.png
create mode 100644 www/prive/vignettes/mp4.png
create mode 100644 www/prive/vignettes/mpg.png
create mode 100644 www/prive/vignettes/odb.png
create mode 100644 www/prive/vignettes/odc.png
create mode 100644 www/prive/vignettes/odf.png
create mode 100644 www/prive/vignettes/odg.png
create mode 100644 www/prive/vignettes/odi.png
create mode 100644 www/prive/vignettes/odm.png
create mode 100644 www/prive/vignettes/odp.png
create mode 100644 www/prive/vignettes/ods.png
create mode 100644 www/prive/vignettes/odt.png
create mode 100644 www/prive/vignettes/ogg.png
create mode 100644 www/prive/vignettes/otg.png
create mode 100644 www/prive/vignettes/otp.png
create mode 100644 www/prive/vignettes/ots.png
create mode 100644 www/prive/vignettes/ott.png
create mode 100644 www/prive/vignettes/pas.png
create mode 100644 www/prive/vignettes/pdf.png
create mode 100644 www/prive/vignettes/pgn.png
create mode 100644 www/prive/vignettes/png.png
create mode 100644 www/prive/vignettes/pps.png
create mode 100644 www/prive/vignettes/ppt.png
create mode 100644 www/prive/vignettes/ps.png
create mode 100644 www/prive/vignettes/psd.png
create mode 100644 www/prive/vignettes/qt.png
create mode 100644 www/prive/vignettes/ra.png
create mode 100644 www/prive/vignettes/ram.png
create mode 100644 www/prive/vignettes/rm.png
create mode 100644 www/prive/vignettes/rpm.png
create mode 100644 www/prive/vignettes/rtf.png
create mode 100644 www/prive/vignettes/sdd.png
create mode 100644 www/prive/vignettes/sdw.png
create mode 100644 www/prive/vignettes/sit.png
create mode 100644 www/prive/vignettes/smil.png
create mode 100644 www/prive/vignettes/spip.png
create mode 100644 www/prive/vignettes/svg.png
create mode 100644 www/prive/vignettes/swf.png
create mode 100644 www/prive/vignettes/sxc.png
create mode 100644 www/prive/vignettes/sxi.png
create mode 100644 www/prive/vignettes/sxw.png
create mode 100644 www/prive/vignettes/tex.png
create mode 100644 www/prive/vignettes/tgz.png
create mode 100644 www/prive/vignettes/tif.png
create mode 100644 www/prive/vignettes/torrent.png
create mode 100644 www/prive/vignettes/ttf.png
create mode 100644 www/prive/vignettes/txt.png
create mode 100644 www/prive/vignettes/wav.png
create mode 100644 www/prive/vignettes/wmv.png
create mode 100644 www/prive/vignettes/xcf.png
create mode 100644 www/prive/vignettes/xls.png
create mode 100644 www/prive/vignettes/xml.png
create mode 100644 www/prive/vignettes/zip.png
create mode 100644 www/rien.gif
create mode 100644 www/spip.php
create mode 100644 www/squelettes-dist/404.html
create mode 100644 www/squelettes-dist/agenda.css
create mode 100644 www/squelettes-dist/agenda.html
create mode 100644 www/squelettes-dist/agenda_jour.html
create mode 100644 www/squelettes-dist/agenda_mois.html
create mode 100644 www/squelettes-dist/agenda_periode.html
create mode 100644 www/squelettes-dist/agenda_semaine.html
create mode 100644 www/squelettes-dist/agenda_trimestre.html
create mode 100644 www/squelettes-dist/article.html
create mode 100644 www/squelettes-dist/auteur.html
create mode 100644 www/squelettes-dist/backend-breves.html
create mode 100644 www/squelettes-dist/backend.html
create mode 100644 www/squelettes-dist/breve.html
create mode 100644 www/squelettes-dist/distrib.html
create mode 100644 www/squelettes-dist/engines-list.txt
create mode 100644 www/squelettes-dist/favicon.ico.html
create mode 100644 www/squelettes-dist/feed.png
create mode 100644 www/squelettes-dist/formulaires/administration.html
create mode 100644 www/squelettes-dist/formulaires/ecrire_auteur.html
create mode 100644 www/squelettes-dist/formulaires/ecrire_auteur.php
create mode 100644 www/squelettes-dist/formulaires/forum.html
create mode 100644 www/squelettes-dist/formulaires/forum.php
create mode 100644 www/squelettes-dist/formulaires/inc-choix_mots.html
create mode 100644 www/squelettes-dist/formulaires/inc-forum_ajouter_mot.html
create mode 100644 www/squelettes-dist/formulaires/inc-forum_bloc_choix_mots.html
create mode 100644 www/squelettes-dist/formulaires/inc-forum_previsu.html
create mode 100644 www/squelettes-dist/formulaires/inc-login_forum.html
create mode 100644 www/squelettes-dist/formulaires/inc-login_forum_abo.html
create mode 100644 www/squelettes-dist/formulaires/inscription.html
create mode 100644 www/squelettes-dist/formulaires/inscription.php
create mode 100644 www/squelettes-dist/formulaires/mot_de_passe.html
create mode 100644 www/squelettes-dist/formulaires/mot_de_passe.php
create mode 100644 www/squelettes-dist/formulaires/oubli.html
create mode 100644 www/squelettes-dist/formulaires/oubli.php
create mode 100644 www/squelettes-dist/formulaires/recherche.html
create mode 100644 www/squelettes-dist/formulaires/recherche.php
create mode 100644 www/squelettes-dist/formulaires/signature.html
create mode 100644 www/squelettes-dist/formulaires/signature.php
create mode 100644 www/squelettes-dist/formulaires/site.html
create mode 100644 www/squelettes-dist/formulaires/site.php
create mode 100644 www/squelettes-dist/forum.html
create mode 100644 www/squelettes-dist/habillage.css
create mode 100644 www/squelettes-dist/ical.html
create mode 100644 www/squelettes-dist/identifiants.html
create mode 100644 www/squelettes-dist/impression.css
create mode 100644 www/squelettes-dist/inc-documents.html
create mode 100644 www/squelettes-dist/inc-entete.html
create mode 100644 www/squelettes-dist/inc-forum.html
create mode 100644 www/squelettes-dist/inc-head.html
create mode 100644 www/squelettes-dist/inc-petition.html
create mode 100644 www/squelettes-dist/inc-pied.html
create mode 100644 www/squelettes-dist/inc-rss-item.html
create mode 100644 www/squelettes-dist/inc-rubriques.html
create mode 100644 www/squelettes-dist/modeles/article_mots.html
create mode 100644 www/squelettes-dist/modeles/article_traductions.html
create mode 100644 www/squelettes-dist/modeles/favicon.html
create mode 100644 www/squelettes-dist/modeles/foreach.html
create mode 100644 www/squelettes-dist/modeles/lesauteurs.html
create mode 100644 www/squelettes-dist/mot.html
create mode 100644 www/squelettes-dist/nouveautes.html
create mode 100644 www/squelettes-dist/plan.html
create mode 100644 www/squelettes-dist/polices/dustismo-license.txt
create mode 100644 www/squelettes-dist/polices/dustismo.ttf
create mode 100644 www/squelettes-dist/polices/dustismo_bold.ttf
create mode 100644 www/squelettes-dist/puce.gif
create mode 100644 www/squelettes-dist/puce_rtl.gif
create mode 100644 www/squelettes-dist/recherche.html
create mode 100644 www/squelettes-dist/rechercher.gif
create mode 100644 www/squelettes-dist/robots.txt.html
create mode 100644 www/squelettes-dist/rss_forum_article.html
create mode 100644 www/squelettes-dist/rss_forum_breve.html
create mode 100644 www/squelettes-dist/rss_forum_rubrique.html
create mode 100644 www/squelettes-dist/rss_forum_syndic.html
create mode 100644 www/squelettes-dist/rss_forum_thread.html
create mode 100644 www/squelettes-dist/rubrique.html
create mode 100644 www/squelettes-dist/site.html
create mode 100644 www/squelettes-dist/sitemap.xml.html
create mode 100644 www/squelettes-dist/sommaire.html
create mode 100644 www/squelettes-dist/spip.ico
create mode 100644 www/squelettes-dist/spip.png
create mode 100644 www/squelettes-dist/spip_formulaires.css
create mode 100644 www/squelettes-dist/win_width.htc
create mode 100644 www/squelettes/body.html
create mode 100644 www/squelettes/contenu/article.html
create mode 100644 www/squelettes/contenu/auteur.html
create mode 100644 www/squelettes/contenu/breve.html
create mode 100644 www/squelettes/contenu/mot.html
create mode 100644 www/squelettes/contenu/page-forum.html
create mode 100644 www/squelettes/contenu/page-login.html
create mode 100644 www/squelettes/contenu/page-plan.html
create mode 100644 www/squelettes/contenu/page-recherche.html
create mode 100644 www/squelettes/contenu/page-sommaire.html
create mode 100644 www/squelettes/contenu/page-spip_pass.html
create mode 100644 www/squelettes/contenu/rubrique.html
create mode 100644 www/squelettes/contenu/site.html
create mode 100644 www/squelettes/extra/article.html
create mode 100644 www/squelettes/extra/auteur.html
create mode 100644 www/squelettes/extra/breve.html
create mode 100644 www/squelettes/extra/mot.html
create mode 100644 www/squelettes/extra/page-sommaire.html
create mode 100644 www/squelettes/extra/rubrique.html
create mode 100644 www/squelettes/extra/site.html
create mode 100644 www/squelettes/fonts/quaversans-webfont.eot
create mode 100644 www/squelettes/fonts/quaversans-webfont.svg
create mode 100644 www/squelettes/fonts/quaversans-webfont.ttf
create mode 100644 www/squelettes/fonts/quaversans-webfont.woff
create mode 100644 www/squelettes/habillage.css
create mode 100644 www/squelettes/img/agenda-plus.png
create mode 100644 www/squelettes/img/autres-animations-legende.png
create mode 100644 www/squelettes/img/autres-animations-plus.png
create mode 100644 www/squelettes/img/autres-animations.png
create mode 100644 www/squelettes/img/bd-subscribed-list-item.gif
create mode 100644 www/squelettes/img/bg-body.gif
create mode 100644 www/squelettes/img/bg-body.png
create mode 100644 www/squelettes/img/bg-cat-item.gif
create mode 100644 www/squelettes/img/bg-cat-item.png
create mode 100644 www/squelettes/img/bg-cat.png
create mode 100644 www/squelettes/img/bg-comment-even-callout.png
create mode 100644 www/squelettes/img/bg-footer.png
create mode 100644 www/squelettes/img/bg-lirelasuite.jpg
create mode 100644 www/squelettes/img/bg-nav.png
create mode 100644 www/squelettes/img/bg-paddcat.png
create mode 100644 www/squelettes/img/bg-page-header-wrapper.png
create mode 100644 www/squelettes/img/bg-page-wrapper.png
create mode 100644 www/squelettes/img/bg-submit.jpg
create mode 100644 www/squelettes/img/bg-title-page-2.png
create mode 100644 www/squelettes/img/bg-title-slider.png
create mode 100644 www/squelettes/img/bg-title.png
create mode 100644 www/squelettes/img/border-sidebar-list-item.gif
create mode 100644 www/squelettes/img/bricoler-velo.jpg
create mode 100644 www/squelettes/img/bricoler-velo_p.jpg
create mode 100644 www/squelettes/img/bullet-sidebar-list-item.gif
create mode 100644 www/squelettes/img/emprunter-velo.jpg
create mode 100644 www/squelettes/img/emprunter-velo_p.jpg
create mode 100644 www/squelettes/img/facebook.png
create mode 100644 www/squelettes/img/flag_de.png
create mode 100644 www/squelettes/img/flag_en.png
create mode 100644 www/squelettes/img/flag_es.png
create mode 100644 www/squelettes/img/flag_fr.png
create mode 100644 www/squelettes/img/flickr-dots.png
create mode 100644 www/squelettes/img/flickr-logo.png
create mode 100644 www/squelettes/img/input-search.png
create mode 100644 www/squelettes/img/logo-bg.png
create mode 100644 www/squelettes/img/logo-velocampus.png
create mode 100644 www/squelettes/img/map-nantes.png
create mode 100644 www/squelettes/img/menu-activites.png
create mode 100644 www/squelettes/img/menu-asso.png
create mode 100644 www/squelettes/img/menu-echanger.png
create mode 100644 www/squelettes/img/menu-liens.png
create mode 100644 www/squelettes/img/menu-nousrejoindre.png
create mode 100644 www/squelettes/img/nous-rejoindre.jpg
create mode 100644 www/squelettes/img/nous-rejoindre_p.jpg
create mode 100644 www/squelettes/img/puce-agenda.png
create mode 100644 www/squelettes/img/savoir-plus.png
create mode 100644 www/squelettes/img/search-submit.png
create mode 100644 www/squelettes/img/sortir-legende.png
create mode 100644 www/squelettes/img/sortir-plus.png
create mode 100644 www/squelettes/img/sortir.png
create mode 100644 www/squelettes/img/top.png
create mode 100644 www/squelettes/img/vente-legende.png
create mode 100644 www/squelettes/img/vente-plus.png
create mode 100644 www/squelettes/img/vente.png
create mode 100644 www/squelettes/img/vie-asso-legende.png
create mode 100644 www/squelettes/img/vie-asso.png
create mode 100644 www/squelettes/inc-theme-head.html
create mode 100644 www/squelettes/inclure/article-resume.html
create mode 100644 www/squelettes/inclure/documents.html
create mode 100644 www/squelettes/inclure/entete.html
create mode 100644 www/squelettes/inclure/forum.html
create mode 100644 www/squelettes/inclure/petition.html
create mode 100644 www/squelettes/inclure/pied.html
create mode 100644 www/squelettes/inclure/rubriques.html
create mode 100644 www/squelettes/javascript/smoothscroll.js
create mode 100644 www/squelettes/lang/public_de.php
create mode 100644 www/squelettes/lang/public_en.php
create mode 100644 www/squelettes/lang/public_es.php
create mode 100644 www/squelettes/lang/public_fr.php
create mode 100644 www/svn.revision
create mode 100644 www/themes/theme_maparaan/body.html
create mode 100644 www/themes/theme_maparaan/habillage.css
create mode 100644 www/themes/theme_maparaan/img/bd-cat-item.gif
create mode 100644 www/themes/theme_maparaan/img/bd-subscribed-list-item.gif
create mode 100644 www/themes/theme_maparaan/img/bg-body.gif
create mode 100644 www/themes/theme_maparaan/img/bg-cat-item.gif
create mode 100644 www/themes/theme_maparaan/img/bg-cat.gif
create mode 100644 www/themes/theme_maparaan/img/bg-comment-even-callout.png
create mode 100644 www/themes/theme_maparaan/img/bg-lirelasuite.jpg
create mode 100644 www/themes/theme_maparaan/img/bg-submit.jpg
create mode 100644 www/themes/theme_maparaan/img/bg-title-page-2.png
create mode 100644 www/themes/theme_maparaan/img/border-sidebar-list-item.gif
create mode 100644 www/themes/theme_maparaan/img/bullet-sidebar-list-item.gif
create mode 100644 www/themes/theme_maparaan/img/icon-padd.jpg
create mode 100644 www/themes/theme_maparaan/img/input-search.png
create mode 100644 www/themes/theme_maparaan/img/logo.png
create mode 100644 www/themes/theme_maparaan/img/site-name.png
create mode 100644 www/themes/theme_maparaan/img/site-name.psd
create mode 100644 www/themes/theme_maparaan/img/thumbnail.jpg
create mode 100644 www/themes/theme_maparaan/inc-insert-head.html
create mode 100644 www/themes/theme_maparaan/inc-theme-copyleft.html
create mode 100644 www/themes/theme_maparaan/lang/maparaan_en.php
create mode 100644 www/themes/theme_maparaan/lang/maparaan_es.php
create mode 100644 www/themes/theme_maparaan/lang/maparaan_fr.php
create mode 100644 www/themes/theme_maparaan/licence.txt
create mode 100644 www/themes/theme_maparaan/main-loading.js.html
create mode 100644 www/themes/theme_maparaan/plugin.xml
create mode 100644 www/themes/theme_maparaan/svn.revision
create mode 100644 www/themes/theme_maparaan/vignette.jpg
diff --git a/www/CHANGELOG.txt b/www/CHANGELOG.txt
new file mode 100644
index 0000000..eab40de
--- /dev/null
+++ b/www/CHANGELOG.txt
@@ -0,0 +1,865 @@
+Core 2.1.11->2.1.12 (16/10/2011)
+r18562 | ben | 2011-09-22 22:39:46 | changelog 2.1.11
+r18580 | denisb | 2011-09-26 08:18:59 | traduire.php : caster la globale détruite plus haut pour php5 plus rigoureux que son ancêtre.
+r18582 | fil | 2011-09-27 10:07:59 | tiens les documents ne passaient pas par les pipelines pre_insertion / post_insertion
+r18586 | rasta | 2011-10-01 21:52:05 | Backport de r17201.Cette fonction a été améliorée en SPIP 3, ou plutôt débugguée en fait. Il faut donc backporter.En effet, la fonction substr() ne pouvait pas marcher si $redirect == $base, c'est-à -dire quand on demande la page d'accueil en URL absolue, ce qui provoque un "false" et fini alors en page blanche pour l'utilisateur. C'est un peu fort pour une page aussi courante.
+r18587 | ben | 2011-10-03 18:44:01 | 11 jours après, il était temps ! -for i in 18368 18473 18480 18494 18496 18501 18504 18512 do echo $i svn merge --change $i .done-18368 Fusion de r18368 dans '.':A squelettes-dist/agenda_trimestre.htmlU squelettes-dist/agenda_jour.htmlU squelettes-dist/agenda.htmlU squelettes-dist/agenda.cssU squelettes-dist/inc-head.htmlU prive/style_prive.htmlU ecrire/inc/agenda.phpU ecrire/inc/filtres.php18473 Fusion de r18473 dans '.':U ecrire/exec/dater.phpU ecrire/inc/dater.php18480 Fusion de r18480 dans '.':G ecrire/inc/dater.php18494 Fusion de r18494 dans '.':U ecrire/inc/charger_plugin.php18496 Fusion de r18496 dans '.':G prive/style_prive.htmlU ecrire/exec/message.phpG ecrire/inc/agenda.php18501 Fusion de r18501 dans '.':G ecrire/inc/dater.php18504 Fusion de r18504 dans '.':G ecrire/inc/agenda.php18512 Fusion de r18512 dans '.':G squelettes-dist/agenda.cssG ecrire/inc/agenda.phpG ecrire/inc/dater.phpben@hpb:~/svn/spip/branches/spip-2.1$ -svn statusM prive/style_prive.htmlA + squelettes-dist/agenda_trimestre.htmlM squelettes-dist/agenda_jour.htmlM squelettes-dist/agenda.htmlM squelettes-dist/agenda.cssM squelettes-dist/inc-head.htmlM ecrire/exec/message.phpM ecrire/exec/dater.phpM ecrire/inc/agenda.phpM ecrire/inc/dater.phpM ecrire/inc/charger_plugin.phpM ecrire/inc/filtres.php
+r18588 | esj | 2011-10-04 15:46:16 | Ne pas produire href=mailto: quand le mail d'une signature de pétition est inutilisable.
+r18589 | esj | 2011-10-04 15:48:56 | r18588 en restant valide XML.
+r18590 | kent1 | 2011-10-05 10:07:07 | SPIP ne pose pas de problèmes avec des fichiers de plus de 2Go sauf qu'il ne calcule pas bien leur taille ... ce petit patch pour cela
+r18593 | b_b | 2011-10-05 10:38:15 | retour de r18507 : On passe le media de perso.css sur le même que habillage.css pour que les deux se retrouvent bien dans la même css compactée.
+r18594 | kent1 | 2011-10-05 10:53:36 | En fait c'est un problème de base donc je reviens sur le commit précédent ... c'est le int(11) de la table spip_documents pour le champs taille qui n'est pas suffisant apparemment ...
+r18599 | esj | 2011-10-08 10:33:54 | Retour sur r18368 (révision du code HTML des calendriers afin qu'il respecte [http://www.w3.org/TR/xhtml-basic/ XHTML Basic 1.1], version de XHTML exploitant au mieux les feuilles de style de [http://css-discuss.incutio.com/wiki/Handheld_Stylesheets media-type handhled]): * http_calendrier_init appelle un jeu de fonctions calculées, celles du noyau de SPIP retournant un fragment de DOM de même structure, ce qui permet partage de code et mise au point rapide. Il apparaît que des plugins complètent ce jeu par des fonctions au résultat fantaisiste. Afin de ne pas casser la compatibiilité avec ces déviants, on renonce au partage de code et à sa lisibilité. Merci à Yohann pour l'aide à comprendre le problème. * les valeurs numériques associées au paramètre "partie_cal" figuraient en dur dans le code, on permet à présent de les moduler par une globale ou par l'URL. * rationnalisation des commentaires au format Doxygen. * le Doctype xhtml-basic avait été introduit dans le squelette agenda avec une coquille (curieusement le validateur du W3C comprenait quand même duquel il s'agissait).
+r18603 | esj | 2011-10-10 16:53:36 | Lorsqu'on indique la base LDAP par la constante _INSTALL_BASE_LDAP, il est contradictoire de pré-selectionner un autre bouton radio que celui qui tient compte de celle-ci. Joli piège.
+r18608 | denisb | 2011-10-12 16:42:01 | sécuriser si accès direct.
+r18627 | cedric | 2011-10-22 17:56:50 | verifier le droit de l'auteur connecte a modifier le statut de l'auteur modifie (merci à Davy Douhine)
+r18633 | denisb | 2011-10-24 02:32:56 | inc/dater.php : pour les dates avant j.c., on corrige [18473] qui affichait une mauvaise valeur dans l'input de date de rédaction antérieure et on corrige aussi le mauvais affichage de l'input de la date de rédaction (qui lui datait de mathusalem...)
+r18634 | esj | 2011-10-24 10:00:04 | Complément à r18633 dans la correction de r18473: retour de l'option 'non connu' dans la date de rédaction antérieure.
+r18660 | kent1 | 2011-10-28 19:15:40 | Les balises contenues dans les balises peuvent également avoir une adresse en href qu'il peut être nécessaire de rendre absolue quelque fois CF : http://www.w3.org/TR/SVG/struct.html#ImageElementHrefAttribute
+r18662 | esj | 2011-10-30 18:55:22 | Eviter un XSS sur l'aide en ligne (Arnault Pachot)
+r18673 | b_b | 2011-11-02 11:11:52 | un tout petit ajout dans le pipeline post_syndication qui permet de savoir si l'item en cours est une insertion (vaut int id_syndic_article) ou ue mise à jour (vaut NULL)
+r18679 | cedric | 2011-11-04 12:36:09 | report de r18678 :Type de fichier distant : lorsque le mime-type est non discriminant (text/plain ou application/octet-stream) ou absent, mais qu'un en-teteContent-Disposition: attachment; filename=...est present, s'en servir pour identifier l'extension et le type du fichier si possible (et si l'url n'a pas d'extension elle meme)
+r18683 | esj | 2011-11-05 12:53:32 | Bug dans le compilateur. L'item de langue suivant:{{{<:liste_des_n_articles{n=#TOTAL_BOUCLE}:>}}}déclenchait à tort l'erreur que TOTAL_BOUCLE serait hors boucle.
+r18688 | esj | 2011-11-07 08:09:12 | Résolution de #2397: lorsqu'on change la liste des plugins actifs, vider le cache d'aide, car [http://www.spip.net/fr_article4727.html les plugins peuvent étendre l'aide en ligne].Il apparaît au passage que le résultat de la fonction actualise_plugins_actifs n'est pas fiable.
+r18695 | denisb | 2011-11-08 12:30:51 | filtres_images_lib_mini.php : permettre d'appliquer les filtres-image sur des fichiers d'extension capitale (ferme http://core.spip.org/issues/2396).
+r18700 | esj | 2011-11-08 22:21:45 | sLa correction r18627 a complètement pété la libre inscription d'un rédacteur: le mécanisme qui le faisait passer du statut "nouveau" à "1comité" à la première connexion était considéré comme non autorisé.
+r18702 | denisb | 2011-11-09 01:00:00 | suite de 18695 ('les revenentes').
+r18708 | cedric | 2011-11-09 11:41:32 | lorsqu'on redirige sur un changement d'url envoyer une vrai 301 via redirige_par_entete qui le supporte, plutot qu'un http_status(301) qui sera suivi d'un 302 pouvant creer une confusion (Ben)
+r18709 | cedric | 2011-11-09 11:45:16 | #2397 : plutot que vider le cache de l'aide a chaque changement de config des plugins, preferons cacher dans un fichier dont le nom depend de la globale $help_server.Cela permet de ne pas perdre un cache valide, et aussi de supporter la mise a jour du cache en cas d'ajout d'aide via mes_options.php(retour sur r18688)
+r18710 | cedric | 2011-11-09 11:46:13 | simplification de la regexp modifiée par r18702 mais qui provoque du coup une erreur"Compilation failed: lookbehind assertion is not fixed length"Il faut verifier cependant que l'on matche bien la même chose...
+r18711 | esj | 2011-11-09 12:26:31 | Bonne idée de r18709 de paramétrer le cache avec la valeur de $help_server, mais deux plugins peuvent utiliser un même $help_serveur, donc le changement de celui-ci n'est pas suffisant pour repérer que le cache de l'aide en ligne n'est plus valable car le changement peut ne porter que sur l'un des deux plugins. Si on veut absolutment retirer le code de r18688, alors il faut tenir compte de la liste des plugins actifs dans le nom du cache.
+r18712 | denisb | 2011-11-09 14:35:38 | filtres_images_lib_mini.php : suite de 18702 et 18710 ; on accepte et on traite donc aussi les images sufixées '.jpeg' .
+r18714 | cedric | 2011-11-10 08:48:38 | #2397 : Après débat $help_server semble bien nécessaire et suffisante pour qualifier le cache du contenu HTML de l'aide en ligne. On évite donc de l'invalider à chaque modification des plugins.
+r18723 | kent1 | 2011-11-16 11:58:47 | Des plugins peuvent vouloir surcharger ce modèle uniquement pour une extension en particulier ... et pas tout les types de documents commençant par un mime-type spécifique ...On permet donc l'existence d'un inclure de la forme : modeles/emb_[(#EXTENSION)].htmlIl sera pris en compte, sinon on inclu : modeles/[(#MIME_TYPE|substr{0,[(#MIME_TYPE|strpos{/})]Ce dernier est fourni par SPIP
+
+Core 2.1.10->2.1.11 (22/09/2011)
+
+r17662 | fil | 2011-04-06 23:19:16 +0200 (mer, 06 avr 2011) | permettre d'avoir une apostrophe dans un bouton de generer_form_ecrire (ex: ''Relancer l'installation'')
+r17666 | ben | 2011-04-06 23:39:25 +0200 (mer, 06 avr 2011) | On disait que les gens en fait ils s'en foutent du CHANGELOG et qu'ils ne le lisent pas ... et donc qu'une erreur de copier coller cela passe inaper�u et que non vraiment on ne va pas refaire une nouvelle version pour �a
+r17676 | b_b | 2011-04-07 19:12:54 +0200 (jeu, 07 avr 2011) | ne pas laisser ces blocs de configuration en acc�s libre (arnault)
+r17687 | eric | 2011-04-10 12:03:43 +0200 (dim, 10 avr 2011) | On renvoie la balise traduire dans l'arbre xml pour pr�parer la migratio vers paquet.xml
+r17692 | b_b | 2011-04-10 18:39:43 +0200 (dim, 10 avr 2011) | report de r17691 : coquille dans r15362
+r17694 | b_b | 2011-04-10 19:00:36 +0200 (dim, 10 avr 2011) | report de 17693 : r17691 en mieux, il y avait bien un bug dans r15362 mais ce n'�tait pas une coquille
+r17711 | cedric | 2011-04-12 23:49:26 +0200 (mar, 12 avr 2011) | coquille
+r17727 | cedric | 2011-04-16 11:23:32 +0200 (sam, 16 avr 2011) | Deplacer le squelette cfg qui n'a pas besoin d'etre dans le path
+r17754 | eric | 2011-04-24 15:50:12 +0200 (dim, 24 avr 2011) | On corrige le filtre info_plugin qui ne fonctionnait plus dans certains cas particuliers o� le plugin �tait une extension.
+r17762 | fil | 2011-04-25 22:57:44 +0200 (lun, 25 avr 2011) | il faut aussi creer les cles manquantes lorsqu'on fait un create_ou_upgrade
+r17783 | b_b | 2011-04-30 19:03:45 +0200 (sam, 30 avr 2011) | ne pas g�n�rer une erreur sql lors de la recherche priv�e si elle est �tendue aux groupes de mots
+r17791 | b_b | 2011-05-01 12:11:11 +0200 (dim, 01 mai 2011) | groupes_mot cf le "eurk" dans http://core.spip.org/projects/spip/repository/entry/branches/spip-2.1/ecrire/inc/prepare_recherche.php#L50
+r17792 | fil | 2011-05-01 22:07:48 +0200 (dim, 01 mai 2011) | probleme de nommage de l'ical prive (#2034, r�solu par Fabien Michel)
+r17840 | fil | 2011-05-08 16:03:23 +0200 (dim, 08 mai 2011) | utiliser plutot le soft-hyphen pour couper les lignes longues
+r17841 | cedric | 2011-05-09 12:43:27 +0200 (lun, 09 mai 2011) | depuis r14104 les criteres infixe ne fonctionnaient plus sur les tables ayant declare un critere infixe externe par la globale exception_des_jointures au format tableau (ie jointures tordues) :la presence de la globale faisait sortir du traitement standard, mais si le champ recherche n'etait pas specifie dans la globale, on ne revenait pas dans les clous.
+r17844 | cedric | 2011-05-10 00:41:22 +0200 (mar, 10 mai 2011) | #2064 : $id_auteur non defini lors de l'actualisation des sessions
+r17845 | kent1 | 2011-05-10 12:50:50 +0200 (mar, 10 mai 2011) | prendre en compte les fichiers avec extension mpeg comme des mpg
+r17867 | b_b | 2011-05-12 17:36:57 +0200 (jeu, 12 mai 2011) | report de r17864 et son oups r17865 : r�parer ancre_url si on l'utilise pour virer l'ancre
+r17885 | esj | 2011-05-15 16:21:13 +0200 (dim, 15 mai 2011) | La page d'aide en ligne �tant un frameset, lorsque le fichier d'aide n'est pas disponible on se retrouve avec 2 processus concurrents qui le fabrique. Pas dramatique, mais www.spipnet n'a pas besoin qu'on lui double son nombre de requ�tes. On cr�� donc d'abord le fichier, puis on envoie la page avec frameset.
+r17941 | fil | 2011-05-23 19:05:26 +0200 (lun, 23 mai 2011) | separer les caches selon la methode http/https afin d'eviter tout mixte de methodes (severo)
+r17947 | cedric | 2011-05-25 15:13:26 +0200 (mer, 25 mai 2011) | bug sur le telechargement d'un zip qui n'as pas l'extension zip dans son url. Au second tout on oubliait de regarder l'extension du fichier et on abandonnait donc l'affaire, sans log qui plus est ...
+r17977 | guy.cesaro@gmail.com | 2011-06-08 11:13:19 +0200 (mer, 08 jun 2011) | Si dans la configuration la syndication est desactivee, le champs syndication est vide, evitons alors d'afficher les options de syndication.http://core.spip.org/issues/2115
+r17985 | cedric | 2011-06-09 00:05:57 +0200 (jeu, 09 jun 2011) | #2118multiples destinataires a un email sont s�par�s par ", " (virgule+espace) selon http://php.net/manual/en/function.mail.php
+r18045 | esj | 2011-06-13 23:52:21 +0200 (lun, 13 jun 2011) | * en cas d'erreur dans le maj_while, on ne retournait pas le numero de MAJ fautif * st�riliser une variable d'URL mais oublier d'utiliser le r�sultat, c'est pas malin * ind�fini inepte
+r18119 | denisb | 2011-06-24 13:33:52 +0200 (ven, 24 jun 2011) | la variable d'un crit�re conditionnel peut avoir explicitement z�ro pour valeur.
+r18126 | rastapopoulos | 2011-06-25 16:31:09 +0200 (sam, 25 jun 2011) | Les sessions de SPIP ont actuellement deux bugs : - SPIP n'a aucune proc�dure pour supprimer les fichiers de sessions des non-inscrits (id=0) et donc une fois cr��s ces fichiers restent l� � l'infini- SPIP cr�e un fichier de session m�me quand la session est vide ! Et quand on veut effacer une variable de session, il ne la supprime pas mais la met � "null", du coup la session n'est jamais vide d�s qu'on utilise session_set().Ce patch corrige pour l'instant le deuxi�me bug :- quand on *vide* une variable avec session_set('mon_truc'); cela supprime r�ellement la variable avec un unset(...)- au moment d'�crire le fichier de session, on v�rifie d'abord si elle est vide (uniquement pour les non-inscrits car les autres ont toujours quelque chose). Si c'est le cas on supprime le fichier associ� s'il existe et on n'�crit rien du tout
+r18141 | cedric | 2011-06-27 18:17:31 +0200 (lun, 27 jun 2011) | Report de r18140 qui corrige r18119
+r18148 | esj | 2011-07-01 08:29:25 +0200 (ven, 01 jui 2011) | Bug dans la g�n�ration de l'action auteur: l'argument demandant que l'action soit produite dans l'espace public �tait mal propag�.Par ailleurs, il �tait anormal que le 3e argument optionnel d'AjaxSqueeze ne puisse pas �tre sp�cifi� via ajax_action_post alors que cela l'�tait pour ajax_action_auteur. Possibilit� r�percut�e dans forum_envoi_form mais non utilis� ici.
+r18153 | rastapopoulos | 2011-07-03 03:25:14 +0200 (dim, 03 jui 2011) | Il fallait tester le type exact, car �videmment array() = 0 = null.
+r18180 | cedric | 2011-07-05 10:29:25 +0200 (mar, 05 jui 2011) | Report justifi� de r18179
+r18188 | esj | 2011-07-06 15:02:17 +0200 (mer, 06 jui 2011) | Je d�couvre que j'ai oubli� de d�poser cette nouvelle version de envoyer_mail pour la sortie de la 2.1. C'est une version qui est beaucoup plus robuste que la pr�c�dente pour passer � travers le mode le plus parano de SpamAssassin, et qui est capable de joindre des pi�ces de tout type dans le mail � envoyer. Mieux vaut tard que jamais.
+r18205 | esj | 2011-07-07 16:35:44 +0200 (jeu, 07 jui 2011) | Le 2e bug signal� par r18126 et [http://www.mail-archive.com/spip@rezo.net/msg36737.html ce message sur spip-dev] est d� � r11865 qui ne d�truisait plus du tout les vieux fichiers de session commen�ant par 0 lors d'un logout de qq. On am�liore, mais il faut noter que si personne ne se d�connecte pendant plusieurs jours, ces fichers de spammeurs de formulaire avec session_mail etc resteront longtemps. Et eviter les accents dans les commentaires.
+r18235 | cedric | 2011-07-18 23:55:36 +0200 (lun, 18 jui 2011) | Report de r18198 qui aligne les evolutions proposees par r18188 sur l'existant (Facteur)
+r18236 | esj | 2011-07-21 22:41:58 +0200 (jeu, 21 jui 2011) | Bug dans l'analyseur de DTD, qui refuse � tort la r�f�rence � une Entity dans le nom d'un Element. Indispensable pour analyser correctement la r�cente DTD [http://www.w3.org/TR/xhtml-basic/ xhtml-basic 1.1], con�ue pour �tre compatible avecles petits �crans. C'est toujours aussi laxiste que le pr�tendu xhtml-strict 1.0 ([http://www.spip.net/fr_article3541.html#nb2 lire ici l'imposture], mais �a simplifie le pachydermique �l�ment Table, et �a retient des bonnes id�es de l'impasse du XHTML 1.1 (l'attribut [http://www.w3.org/TR/2006/WD-xhtml-basic-20060705/#s_inputmode inputmode]). A noter que l'icone de cette DTD n'est toujours pas disponible dans la [http://www.w3.org/QA/Tools/Icons page des icones du W3C].
+r18237 | esj | 2011-07-22 18:30:20 +0200 (ven, 22 jui 2011) | Les analyseus de DTD des branches 2.1 et 2.2 avaient diverg�s, je resynchronise.
+r18261 | b_b | 2011-07-27 23:44:37 +0200 (mer, 27 jui 2011) | report de http://zone.spip.org/trac/spip-zone/changeset/50029Upload d'un svg : remplacer le test sur le statut auteur par un appel a autoriser(televerser,script) qui peut etre deroge dans un cron
+r18288 | fil | 2011-08-02 16:05:28 +0200 (mar, 02 ao� 2011) | les appels ancienne maniere a inc/envoyer_mail donnaient un contenu vide
+r18302 | b_b | 2011-08-04 14:35:02 +0200 (jeu, 04 ao� 2011) | report de r18300 : ne pas laisser n'importe qui appeler l'action tester_taille (arnault)
+r18303 | rastapopoulos | 2011-08-04 15:43:07 +0200 (jeu, 04 ao� 2011) | Alors en fait mes derniers commits corrigeaient bien un d�faut mais en cr�aient un autre.En effet dans actualiser_session() il y a un array_merge() ce qu'il y a dans le *fichier* avec ce qu'on demande la session courrante et c'est appel� d�s qu'on fait un session_set().Du coup d�s qu'on faisait un session_set() vide pour *supprimer* une valeur, et bien en fait elle r�-apparaissait toujours puisque dans le fichier l'ancienne valeur �tait toujours l�, et durant le merge �a n'�crasait rien puisque la variable n'�tait plus dans $auteur.On r�tablit donc l'enregistrement de variable "null" dans la globale MAIS c'est au moment de l'�criture dans le fichier que l� on supprime celles qui sont nulles.
+r18317 | cedric | 2011-08-12 21:58:18 +0200 (ven, 12 ao� 2011) | R�soud #2166 : mauvaise inclusion pour bouton_suivant()
+r18332 | b_b | 2011-08-16 15:03:08 +0200 (mar, 16 ao� 2011) | report du pipeline declarer_type_surnoms pour mieux prendre en charge les objets dont le singulier et le pluriel terminent par un s dans la fonction objet_type()
+r18333 | cedric | 2011-08-16 16:25:16 +0200 (mar, 16 ao� 2011) | r18332 a emmen� un report en trop : le preg sur le type g�n�re des incompatibilit� potentielles
+r18366 | esj | 2011-08-22 16:53:42 +0200 (lun, 22 ao� 2011) | Manque dans l'analyseur de DTD: il ne v�rifie pas qu'un attribut de type NMTOKEN ou NMTOKENS ne contient que des noms. Utile pour certains attributs des balises d'en-t�te dans la DTD XHTML Basic 1.1, mais curieusement pas pour l'attribut "class" qui est clairement un NMTOKENS pourtant. Cependant le [http://validator.w3.org/mobile/ profileur MobileOK] d�tecte le probl�me, par un contr�le en aval du validateur.
+r18368 | esj | 2011-08-22 17:12:47 +0200 (lun, 22 ao� 2011) | R�vision du code HTML produit par le filtre agenda_memo (et son utilisation implicite dans l'espace priv�) afin qu'il soit valide selon [XHTML Basic 1.1 http://www.w3.org/TR/xhtml-basic/], sous-ensemble de XHTML strict prenant en compte les t�l�phones � �cran. Cette DTD exclut les tables imbriqu�es, ainsi que les vieux attributs "cellspacing" et "cellpading". Par ailleurs le [http://validator.w3.org/mobile/ profileur MobileOK] �nonce plusieurs recommandations, parfois discutbales mais m�ritant r�flexion, notamment la r�duction � 10Ko de la page XHTML transmise. Pour atteindre la validit� XHTML Basic et un score sup�rieur � la moyenne avec le profileur, le pr�sent d�p�t impl�mente les modifications suivantes: * remplacement de "cellpadding" par la propri�t� CSS "padding" * remplacement de "cellspacing=0" par la propri�t� CSS "border-collapse: collapse * remplacement de la plupart des tables par des Div positionn��s, afin d'�vacuer certaines tables imbriqu�es * mise en Ajax du triple mini-agenda aparaissant au survol du lien "aujourd'hui", ce qui r�duit consid�rablement la taille de la page produite * la structure du code XHTML retourn� n'est plus un simple "Table" mais "div div /div table.../table /div" afin que l'appel Ajax ins�re son r�sultat (une table) dans la 2e Div, et non plus dans un Td de la premi�re table pour �viter cette imbrication * l'appel Ajax est un squelette r�duit � l'utilisation du filtre agenda_affiche acceptant un quatri�me type de calendrier: "trimestre" * la production de l'URL vers une autre page du calendrier �vite d'y placer les valeurs par d�faut des param�tres, pour diminuer sa taille * la barre de navigation du calendrier avec son titre n'est plus un "tr+td" avec colspan maximal mais un 'caption", ce qui est plus conforme aux r�gles d'accessibilt� et permet � tous les "td" restants d'�tre trait�s pareillement par les CSS * plusieurs styles �crits en dur et plusieurs noms de classes sont �vacu�es, en utilisant massivement les s�lecteurs bas�s sur ">" et "+" dans agenda.css, ce qui permet de r�duire la taille du code produit * utilisation de "em" pour d�finir la taille de la police, plut�t que "px" * �vacuation des lignes blanches dans les squelettes concern�s, afin l� aussi de r�duire la taille du code XHTML produit.
+r18381 | esj | 2011-08-25 16:50:18 +0200 (jeu, 25 ao� 2011) | Utiliser #URL_PAGE sans lui donner d'argument produisait un code PHP compil� syntaxiquement faux, d'o� un message "erreur de compilation" laconique. Tant qu'� traiter ce cas, on lui donne la s�mantique intuitive qu'une telle utilisation fournit l'URL de la page courante. C'est pratiquement #SELF, mais �a retourne l'URL absolue, comme pour les autres utilisations de #URL_PAGE. Cerise sur le gateau, on donne aussi un sens � l'�toile (#URL_PAGE* ....) en disant que si elle est pr�sente on ne transcode pas les & en l'entit� XML amp;.
+r18384 | cedric | 2011-08-25 23:11:34 +0200 (jeu, 25 ao� 2011) | encore une coquille de r18235 : preparer tout le mail pour $destinataire et l'envoyer finalement � $email qui est vide �a ne marche pas !
+r18393 | esj | 2011-08-29 12:18:34 +0200 (lun, 29 ao� 2011) | Am�lioration de r18381, #URL_PAGE sans argument ne fournissant pas la bonne URL pour les URLs libres etc. Et scorie dans une CSS.
+r18395 | esj | 2011-08-29 14:54:30 +0200 (lun, 29 ao� 2011) | Coquille dans r18393
+r18412 | fil | 2011-08-31 17:13:07 +0200 (mer, 31 ao� 2011) | dans certaines combinaisons de PHP la methode memcache::delete() est bugguee si on n'envoie pas le parametre timeout=0; cf http://fr.php.net/manual/en/memcache.delete.php#98826
+r18413 | fil | 2011-08-31 17:19:49 +0200 (mer, 31 ao� 2011) | revert de r18412 (oups)
+r18420 | esj | 2011-09-02 07:59:58 +0200 (ven, 02 sep 2011) | Report en 2.1 et 2.2 des coquilles dans l'analyseur XML rep�r�es par r18410
+r18461 | cedric | 2011-09-08 15:51:34 +0200 (jeu, 08 sep 2011) | securite : email_valide() refuse tout ce qui n'est pas une chaine (eviter un full path disclosure sur le preg_match qui suit)
+r18462 | cedric | 2011-09-08 15:54:13 +0200 (jeu, 08 sep 2011) | email ne peut �tre qu'une cha�ne, for�ons le avant de l'envoyer dans la fonction de validation (Laurent Estieux)
+r18473 | esj | 2011-09-09 08:43:44 +0200 (ven, 09 sep 2011) | La mise en Ajax du formulaire de datation n'avait pas suivi le mod�le g�n�ral: * il n'�tait pas possible d'avoir plusieurs formulaires sur une m�me page car les ID utilis�s pour modifier le DOM avaient des valeurs constantes au lieu de d�pendre de la cl� primaire de l'objet; * il n'�tait pas possible d'appliquer ce formulaire sur autre chose que les 3 objets pr�vus par (article, breve, site).
+r18480 | esj | 2011-09-10 04:44:14 +0200 (sam, 10 sep 2011) | Compl�ment � r18473: des ID constants dans le formulaire de datation, pas g�nant pour JS mais emp�chant la validit� XML.
+r18485 | esj | 2011-09-10 15:49:43 +0200 (sam, 10 sep 2011) | Report optimis� de r18476: htmlspecialchars suffit dans le validateur, qui garantit que ce sur quoi on l'applique est une cha�ne.
+r18494 | cedric | 2011-09-11 16:40:08 +0200 (dim, 11 sep 2011) | optimiser la recherche de racine commune qui peut etre laborieuse sur une grosse lib
+r18495 | cedric | 2011-09-11 16:43:08 +0200 (dim, 11 sep 2011) | R�soud #2315 en compl�tant l'analyse de l'en-t�te de l'url.Cela dit, pour l'exemple fourni, le nombre de fichiers de la librairie est tel qu'il n'est pas possible de la dezipper en moins de 30s. Il faudrait tout revoir le code pour ce genre de cas, mais c'est � revoir autre part, un autre jour.
+r18496 | esj | 2011-09-11 17:19:16 +0200 (dim, 11 sep 2011) | Compl�ment � r18368 sur la refonte du HTML et des CSS des calendriers: le mini-calendrier des rdv de la messagerie interne ne poss�dait plus sa bordure droite. Par ailleurs il faut tenir compte de l'�chelle dans le placement d'un rdv sur la version avec heure du calendrier. Et deux lignes de code mort �vacu�es.
+r18501 | esj | 2011-09-12 08:23:14 +0200 (lun, 12 sep 2011) | Compl�ment � r18480 et r18473: tant qu'� normaliser la mise en Ajax du formulaire de datation, aller jusqu'au bout en lui permettant de fournir � AjaxSqueeze la fonction r�flexe.
+r18504 | esj | 2011-09-12 16:40:01 +0200 (lun, 12 sep 2011) | Modernisation du XHTML des calendrier par r18368: squelette agenda_jour mal test�.
+r18507 | b_b | 2011-09-13 00:55:46 +0200 (mar, 13 sep 2011) | r12771 avait renseign� media all pour perso.css qui du coup se fait appeler avant habillage.css lorsque la compression css est active. On passe le media de perso.css sur le m�me que habillage.css pour que les deux se retrouvent bien dans la m�me css compact�e.
+r18512 | esj | 2011-09-13 19:09:55 +0200 (mar, 13 sep 2011) | Compl�ment � r18368 sur la refonte du XHTML et des CSS des calendriers: le format ICS sur lequel repose la structure de donn�es de ce code admet que le champ ATTENDEE peut appara�tre plusieurs fois, ce qui n'�tait pas pris en compte auparavant ici. On accepte � pr�sent que cette structure de donn�es poss�de un sous-tableau pour sp�cifier ce cas, et on typographie autant de liens Mailto quand c'est un email valide. Tant qu'� faire, on introduit des classes nomm�es et on �vacue encore un peu de styles en dur. A noter que le RFC d'ICS n'est plus le 2445, un [http://tools.ietf.org/html/rfc5545 nouveau RFC] �tant paru il y a 2 ans.Par ailleurs, r18480 n'avait pas vraiment r�tabli la validit� XML du formulaire de datation.
+r18534 | cedric | 2011-09-16 14:28:55 +0200 (ven, 16 sep 2011) | Ferme #2331 : certains navigateurs envoient leur langue partiellement en majuscule
+r18559 | ben | 2011-09-22 21:40:48 +0200 (jeu, 22 sep 2011) | decommit du r18507 de b_b pour eviter les conflits :)
+r18560 | ben | 2011-09-22 21:44:32 +0200 (jeu, 22 sep 2011) | for i in 18512 18504 18501 18496 18494 18480 18473 18368 ; do echo 18368; echo -; svn merge --change -18368 .; done
+r18561 | ben | 2011-09-22 21:47:40 +0200 (jeu, 22 sep 2011) | 2.1.11 juste le numero pour l'instant
+
+Extensions 2.1.10->2.1.11 (22/09/2011)
+
+
+r47825 | jluc@no-log.org | 2011-05-15 20:36:39 +0200 (dim, 15 mai 2011) | �viter toute ambiguit� : ce plugin n'est pas 'forum' mais 'forum_objets_spip2'
+r47887 | renato@rezo.net | 2011-05-17 23:20:12 +0200 (mar, 17 mai 2011) | traduction italienne
+r48203 | cedric | 2011-05-27 16:02:46 +0200 (ven, 27 mai 2011) | les differentes m�thodes du filtre |image_rotation n'�taient pas �quivalentes du point de vue des coins issus de la rotation : image_RotateBicubic produit des coins transparents, il faut donc que les m�thodes alternatives le fassent aussi.La version moderne de Imagick() et convert en ligne de commande sont ici trait�es. Il reste un doute sur l'ancienne version de imagick, qu'on repouse en 3�me choix du coup.
+r48224 | marcimat | 2011-05-27 22:40:51 +0200 (ven, 27 mai 2011) | Revert � minima du changement de pr�fixe de [47825]. On remet le prefixe �forum� en attendant une solution test�e !L'installation ne marchant plus car les fonctions PHP n'ont pas �t� renomm�es en cons�quence.Soit on laisse �forum�, soit on met un autre pr�fixe, mais �galement sur toutes les fonctions du plugin (pipelines et fonction d'installation principalement).
+r48781 | kent1 | 2011-06-14 13:06:40 +0200 (mar, 14 jun 2011) | VARCHAR
+r50072 | b_b | 2011-07-29 16:03:50 +0200 (ven, 29 jui 2011) | report de r50071 : ne pas compacter les scripts avec un attribut id
+r50177 | kent1 | 2011-08-02 19:22:51 +0200 (mar, 02 ao� 2011) | N'afficher le tab des forums internes que si la configuration du site les prend en charge ou s'il y en a au moins un de pr�sent
+r50186 | kent1 | 2011-08-03 09:38:47 +0200 (mer, 03 ao� 2011) | inutile ou alors c'est le s�parateur qui est inutile ... � voir et revert si besoin
+r50187 | kent1 | 2011-08-03 10:25:12 +0200 (mer, 03 ao� 2011) | Rangement dans les fichiers de langue ...Version anglaise ...
+r50188 | kent1 | 2011-08-03 10:26:39 +0200 (mer, 03 ao� 2011) | Am�lioration du formulaire...On affiche des messages traduits correctement
+r50189 | kent1 | 2011-08-03 10:58:51 +0200 (mer, 03 ao� 2011) | Une ancre de pagination manquante ...
+r50190 | kent1 | 2011-08-03 11:03:43 +0200 (mer, 03 ao� 2011) | Les images manquantes
+r50191 | kent1 | 2011-08-03 11:04:26 +0200 (mer, 03 ao� 2011) | Les bons chemins pour les images
+r50192 | kent1 | 2011-08-03 11:14:21 +0200 (mer, 03 ao� 2011) | Am�lioration du plugin.xml
+r50264 | kent1 | 2011-08-05 11:20:57 +0200 (ven, 05 ao� 2011) | On ne met en #SET self qu'une fois, c'est suffisantOn enl�ve "type_message" de l'url au passage en CVTOn ne s'encombre pas d'interface inutile :- Si on n'a pas de forums internes, on n'affiche pas le lien- Si on n'a pas de forums vides, on n'affiche pas le lien- Si on n'a ni forums vides ni forums internes, on n'affiche pas les onglets du tout
+r50266 | kent1 | 2011-08-05 12:03:07 +0200 (ven, 05 ao� 2011) | Pouvoir passer objet/id_objet en filtresUne erreur sur la boucle SITESEn 2.3 on peut ne pas avoir l'extension SITES et BREVES par exemple (� reporter)Virer les attributs "style" du texte ... fr�quemment utilis� par les spammeurs pour ajouter des liens cach�s
+r50268 | kent1 | 2011-08-05 12:21:58 +0200 (ven, 05 ao� 2011) | Les classes #EDIT{} sur les titres et textes des messages permettant d'�diter les posts de forum si rendu possible via autoriser (plugin autorit�)Pouvoir avoir le lien vers l'objet du post m�me si ce n'est pas un objet traditionnel de SPIP (les tickets du plugin ticket par exemple) ainsi que pouvoir filtrer tous les messages de l'objet en questionOn ajoute une chaine de langue g�n�rique du coupVider les attributs style du texte fr�quemment utilis�s par les spammeurs pour cacher du texte
+r50269 | kent1 | 2011-08-05 13:12:02 +0200 (ven, 05 ao� 2011) | On filtre sur objet et id_objet aussi
+r50270 | kent1 | 2011-08-05 13:14:24 +0200 (ven, 05 ao� 2011) | Ici aussi on g�re objet et id_objet de l'environnement
+r50271 | kent1 | 2011-08-05 13:15:15 +0200 (ven, 05 ao� 2011) | Oups ... oublis
+r50308 | kent1 | 2011-08-05 16:47:02 +0200 (ven, 05 ao� 2011) | Filtrer sur objet/id_objet �galement dans le CVTAfficher les filtres utilis�s dans le formulaireOn utilise la m�me icone que dans l'interface par onglet pour supprimer les filtresDans le cas d'un filtre sur les auteurs, utiliser une URL dans le public ou dans le priv� suivant l'endroit o� l'on se trouve
+r50309 | kent1 | 2011-08-05 17:29:42 +0200 (ven, 05 ao� 2011) | Comme pour l'interface avec onglets, on ne s'embarrasse pas d'�l�ments d'interface dont on n'a pas besoin
+r50310 | kent1 | 2011-08-05 17:34:51 +0200 (ven, 05 ao� 2011) | Faire fonctionner la recherche
+r50311 | kent1 | 2011-08-05 17:57:07 +0200 (ven, 05 ao� 2011) | On am�liore le formulaire de s�lection en n'affichant que les options r�ellement s�l�ctionnables ...
+r50340 | kent1 | 2011-08-06 22:12:56 +0200 (sam, 06 ao� 2011) | Report de la BoOz Google feature (cf : http://zone.spip.org/trac/spip-zone/changeset/50220/_plugins_/forum) ... Un chouilla am�lior�e
+r50341 | kent1 | 2011-08-06 22:21:13 +0200 (sam, 06 ao� 2011) | Report du word-wrap sur les urls de http://zone.spip.org/trac/spip-zone/changeset/44455/_plugins_/forum
+r50342 | kent1 | 2011-08-06 22:27:23 +0200 (sam, 06 ao� 2011) | Afficher les documents des forums dans leur mod�ration
+r50433 | kent1 | 2011-08-12 15:39:47 +0200 (ven, 12 ao� 2011) | intval plutot que sql_quote (report du trunk)
+r50500 | b_b | 2011-08-16 13:27:41 +0200 (mar, 16 ao� 2011) | des tests pour les fonctions de base/connect_sql
+r50502 | b_b | 2011-08-16 15:23:42 +0200 (mar, 16 ao� 2011) | r�parer le test sur le filtre balise_img
+r51700 | kent1 | 2011-09-22 16:20:11 +0200 (jeu, 22 sep 2011) | On affiche le num�ro du message s�lectionn� sur le controle des forumsOn rend le form de pr�visualisation de message conforme aux autres formulaires de spip (le bouton en dehors du fieldset)
+
+
+Core 2.1.9->2.1.10 (06/04/2011)
+
+r17654 | b_b | 2011-04-06 20:24:17 +0200 (mer, 06 avr 2011) | report de r17653 : un auteur ne doit pas pouvoir lancer la proc�dure de reinstall sans acc�s ftp (merci arnault)
+
+Extensions 2.1.9->2.1.10 (06/04/2011)
+
+r46236 | real3t | 2011-04-01 11:57:08 +0200 (ven, 01 avr 2011) | 1sSuite � remarques sur l'accessibilit� du PortePlume qui bloque la navigation au clavier en changeant le comportement par d�faut de la touche Tab, emp�chant de ressortir du champ.� noter :* Tab : champ ou lien suivant* Maj-Tab : pr�c�dent* ctrl-tab et crtl-maj-tab : onglet suivant ou pr�c�dent- Alt-tab et alt-maj-tab : passer d'une application ouverte � une autreDonc, pour mettre la possibilit� de saisir une tab dans le greffon de PP "Code", c'est assez mal parti.Remarque : que fait un fork de PP dans _galaxie_/forum.spip.org/forum.spip.org_2009/barre_outils/edition.php ?
+r46374 | jluc | 2011-04-05 17:23:24 +0200 (mar, 05 avr 2011) | Pas de backquotes autour des noms de tables avec l'API sql (sql_alter ici), sinon les pr�fixes de base ne sont pas mis � contribution et ya pas d'upgrade.Rq : ce plugin migre et utilise les forums breves articles etc en un unique formalisme objet / id_objet utilisable pour d'autres objets non spip aussi, et pr�figure la future gestion des forums dans spip 2.3
+
+Core 2.1.8->2.1.9 (25/03/2011)
+
+r16966 | ben | 2011-01-14 14:40:30 +0100 (ven, 14 jan 2011) | SPIP 2.1.8
+r16971 | cedric | 2011-01-15 17:56:48 +0100 (sam, 15 jan 2011) | N'utiliser qu'un seul argument dans parse_url pour le support des PHP 4.x (ce bug touche les installation en mutualise)
+r16978 | cedric | 2011-01-18 10:07:05 +0100 (mar, 18 jan 2011) | mieux loger les echecs de connexion SQL en renseignant sur la nature de l'echec
+r16991 | fil | 2011-01-20 08:51:16 +0100 (jeu, 20 jan 2011) | supprimer la production d'un log de debug vraiment inutile
+r17001 | booz | 2011-01-20 17:33:55 +0100 (jeu, 20 jan 2011) | ne pas avoir en permanance le texte du message qu'on a post� pr�c�demment sur l'article dans un nouveau message, comme pr�vu, m�me en ajax
+r17002 | fil | 2011-01-21 07:42:04 +0100 (ven, 21 jan 2011) | attention aux script=(exec)&arguments dans generer_form_ecrire (patv)
+r17014 | kent1 | 2011-01-25 17:50:24 +0100 (mar, 25 jan 2011) | revenir sur r16960 pour ne pas avoir ecrire/ecrire/ dans les redirections dans le priv�
+r17015 | kent1 | 2011-01-25 18:06:14 +0100 (mar, 25 jan 2011) | Oups ... _DIR_RESTREINT_ABS se termine par / donc pas besoin de le rajouter manuellement
+r17016 | kent1 | 2011-01-25 18:18:49 +0100 (mar, 25 jan 2011) | Oups ... _DIR_RESTREINT_ABS se termine par / donc pas besoin de le rajouter manuellement
+r17017 | cedric | 2011-01-26 11:54:04 +0100 (mer, 26 jan 2011) | Gros bug dans la gestion d'erreur sqlite :La fonction abstraite sql_error($serveur) ne prend qu'un argument en entree,mais introduit la derniere requete comme premier argument de la fonction spip_xxx_error($query, $serveur)spip_sqlite_error ne respectait pas cette signature, et utilisait $query comme $serveur, provoquant un log sybillin "aucune ressource sqlite" qui ne permettait pas de remonter a l'erreur d'origine
+r17018 | cedric | 2011-01-26 12:17:24 +0100 (mer, 26 jan 2011) | ne pas prendre en compte $row() dans la signature du formulaire_editer_auteur car elle recupere la saisie actuelle.Repare le bug de l'absence d'erreur au premier post (mot de passe trop court ou autre)
+r17019 | cedric | 2011-01-26 14:39:08 +0100 (mer, 26 jan 2011) | lorsque le file system fait la difference entre minuscules et majuscules, les pages de configuration des plugin ne sont pas trouvees si le prefix contient une majuscule.On traite a l'affichage, mais il faudrait faire remonter ce passage en minuscules a la lecture du plugin.xml meme
+r17025 | cedric | 2011-01-26 21:33:07 +0100 (mer, 26 jan 2011) | report de r16864 normaliser les retour chariots avant placer les span de changement de langue sur les multi (patv)
+r17026 | cedric | 2011-01-26 21:35:52 +0100 (mer, 26 jan 2011) | proteger les ' dans les valeurs injectees par form_hidden car certains navigateurs melangent guillemets simples et doubles
+r17029 | kent1 | 2011-01-27 00:06:08 +0100 (jeu, 27 jan 2011) | Il y a des flux dont les items n'ont pas de date mais que des lastbuilddate...Comme on utilise celle-ci apr�s avec un update ... on peut l'utiliser d�s le d�part si pas de date ...exemple de flux ... et non des moindre :http://core.spip.org/projects/spip/activity
+r17030 | cedric | 2011-01-28 13:33:40 +0100 (ven, 28 jan 2011) | en SQLite sql_delete ne respectait pas encore le changement d'API introduit par r14495 : renvoyer le nombre de lignes supprimees ou false en cas d'echec.En renvoyant toujours true en cas de succes, meme si aucune ligne n'etait supprimee, la fonction trompait la gestion de la file d'attente de job_queue entrainant double execution erronee de travaux
+r17056 | esj | 2011-02-01 09:39:54 +0100 (mar, 01 f�v 2011) | Pour Mysql et Pg, comme pour Sqlite, v�rifier que charger_php_extension retourne True, sinon un binaire PHP incapable de s'y interfacer produit une page blanche sans aucun log.
+r17058 | esj | 2011-02-01 18:39:59 +0100 (mar, 01 f�v 2011) | Validateur: quand la regexp des fichiers � analyser ne donne rien, ne pas faire croire qu'on a cherch� les .html.
+r17061 | cedric | 2011-02-02 15:34:13 +0100 (mer, 02 f�v 2011) | Report de r17060 qui repare les consequences de r16475 et r16476
+r17065 | cedric | 2011-02-02 16:31:05 +0100 (mer, 02 f�v 2011) | r17061 ne suffisait encore pas puisque trace_query_end avait perdu un argument par la grace de r14414 jamais reporte en branche dev. Pour la peine l'argument revient, pour essayer de remettre d'aplomb tout cela
+r17066 | cedric | 2011-02-02 17:23:42 +0100 (mer, 02 f�v 2011) | complement a r17061 et r17065 sur les erreurs en sqlite
+r17067 | cedric | 2011-02-02 17:24:52 +0100 (mer, 02 f�v 2011) | depuis r15930 il y avait un meli melo dans le profileur, malgre la correction de r15934
+r17068 | cedric | 2011-02-02 17:26:24 +0100 (mer, 02 f�v 2011) | il n'est pas necessaire d'echouer completement si le serveur ne fournit pas explain (ce peut etre un serveur annexe, cela n'enleve rien a la qualite des resultats renvoyes par le serveur principal)
+r17069 | cedric | 2011-02-02 17:28:19 +0100 (mer, 02 f�v 2011) | eviter une reentrance infinie en cas d'erreur sql lors du profilage(erreur => message avec son aide => chargement de inc/charset => ecriture de la meta => erreur ...)
+r17074 | esj | 2011-02-03 13:26:16 +0100 (jeu, 03 f�v 2011) | Validateur: mauvaise compilation de certaines DTD comportant des "?": les espaces qui pouvaient suivre n'�taient pas supprim�s, la production de la RegExp sur les non terminaux de la grammaire �tait du coup fausse. De plus, on signale dans les logs les entit�s ind�finies (on pourrait carr�ment dire que c'est une erreur, mais dans les fait c'est mieux de pouvoir valider m�me si on n'a pas la traduction num�rique de {{{é}}} et consorts). A l'inverse, donner de quoi rep�rer une entit� inutilis�e, c'est souvent le signe d'une faute de frappe.
+r17090 | esj | 2011-02-04 17:24:20 +0100 (ven, 04 f�v 2011) | Erreur auparavant transparente dans le validateur: il ne donnait pas acc�s aux zones texte, ce qui n'a pas d'importance quand on l'utilise seulement pour son r�sultat bool�en, mais ce ne sera pas toujours le cas. Et une scorie introduite par r17059.
+r17092 | cedric | 2011-02-04 21:29:12 +0100 (ven, 04 f�v 2011) | recuperer l'id_xx de l'exec en cours, en enlevant _edit a la fin
+r17105 | denisb | 2011-02-07 08:19:12 +0100 (lun, 07 f�v 2011) | on aligne l'affichage des image dans le TEXTE de la page rubrique sur celui de la page article.
+r17155 | booz | 2011-02-11 18:18:26 +0100 (ven, 11 f�v 2011) | lignes_longues doit couper en tenant compte des &, # et ? car safari mobile ne coupe pas tout seul sur &, et les autres pas sur ? et #
+r17156 | booz | 2011-02-11 19:42:01 +0100 (ven, 11 f�v 2011) | en fait non, il vaut mieux utilise word-wrap:break-word; en css, et pas du tout lignes_longues (cerdic)
+r17187 | eric | 2011-02-13 20:19:36 +0100 (dim, 13 f�v 2011) | On ajoute les css des messages de r�ussite et d'erreur du priv�. Ca donne un air de la future 2.3 et �a mange pas de pain.
+r17242 | kent1 | 2011-02-17 03:40:33 +0100 (jeu, 17 f�v 2011) | Pouvoir utiliser correctement le formulaire de cr�ation de site dans l'espace public en mutualisation avec la gestion des urls d'images courtesEn gros :- On envoit le lien d'origine et non le document r�cup�r� dans le formulaire apr�s auto suggestion;- On r�cup�re le logo dans les feeds s'il y en a (fonction qui ne marchait que si on syndiquait un flux RSS);- On enl�ve les styles en dur du logo pour les mettre dans une feuille de style car trop sp�cifique � une utilisation dans le priv�;Revert autoris�... bien entendu ...
+r17272 | booz | 2011-02-18 18:30:48 +0100 (ven, 18 f�v 2011) | ne pas perdre son texte en cookie si on a cliqu� sur pr�visualiser le massage
+r17289 | cedric | 2011-02-22 11:26:06 +0100 (mar, 22 f�v 2011) | dans l'API sql de SPIP sql_insert est suppose faire une insertion simple, et jamais de remplacement. En particulier, certaines fonctions de SPIP reposent sur l'echec de l'insertion en cas de doublon, ce qu'un remplacement ne permet plus de detecter (collision d'url existante par exemple). On enleve donc le OR REPLACE utilise dans sqlite pour sql_insert
+r17291 | rastapopoulos | 2011-02-24 23:43:04 +0100 (jeu, 24 f�v 2011) | Ceci est un code mort car ce pipeline est en fait appel� g�n�riquement par la fonction modifier_contenu() qui pr�c�de.
+r17332 | b_b | 2011-03-04 16:04:06 +0100 (ven, 04 mar 2011) | report de r17331 : passer l'action au pipeline post_edition tout comme dans pre_edition
+r17346 | fil | 2011-03-08 23:17:46 +0100 (mar, 08 mar 2011) | report de r17345: la fonction qui raccourcit le lien passe en charger_fonction(), de maniere a pouvoir integrer nativement le plugin lien_court
+r17347 | kent1 | 2011-03-09 13:46:49 +0100 (mer, 09 mar 2011) | Un patch qui trainait depuis un bail sur mon disque pour que _DIR_PLUGIN_SUPP fonctionne correctement ... Test� par Renato �galement
+r17348 | cedric | 2011-03-09 15:00:28 +0100 (mer, 09 mar 2011) | eviter une erreur SQL lorsque la table des auteurs est vide (c'est anecdotique, mais evite de polluer les logs apres une restauration echouee)
+r17350 | cedric | 2011-03-09 21:21:04 +0100 (mer, 09 mar 2011) | report de r16189 et r16191 pour la creation d'une table sqlite a partir d'un show table qui vient de mysql
+r17351 | cedric | 2011-03-09 23:09:07 +0100 (mer, 09 mar 2011) | utiliser _nano_sha256 pour le calcul du hash256 afin d'eviter de tomber sur la fonction sha256 nativement ajoutee par le patsh sushosin, mais qui ne calcule pas le hash de la meme fa�on dans la decomposition des chaines en octets
+r17354 | cedric | 2011-03-09 23:46:03 +0100 (mer, 09 mar 2011) | complement a r17351 : il restait des occurences de sha256 potentiellement problematiques. On remplace par _nano_sha256
+r17356 | cedric | 2011-03-10 09:00:27 +0100 (jeu, 10 mar 2011) | revert de 3 modifications qui n'avaient rien a faire dans r17354 (aka oups)
+r17357 | cedric | 2011-03-10 11:41:43 +0100 (jeu, 10 mar 2011) | sqlite n'admet pas un type de champ "int(10) unsigned" mais "int unsigned"corriger a la volee
+r17358 | cedric | 2011-03-10 19:29:13 +0100 (jeu, 10 mar 2011) | gerer le cas d'un sql_alter('table spip_auteurs add openid text not null after xxx')qui comporte 2 pi�ges : le after surnumeraire et l'absence de "default ''", le premier ne devant pas empecher la correction du second.(cas d'une description de table venant de mysql et reinjectee dans sqlite via la fonction de maj de table)
+r17360 | fil | 2011-03-11 13:47:46 +0100 (ven, 11 mar 2011) | ajout du kurde Horami
+r17361 | fil | 2011-03-11 13:56:42 +0100 (ven, 11 mar 2011) | ecrit dans la langue
+r17383 | marcimat | 2011-03-13 11:21:32 +0100 (dim, 13 mar 2011) | �viter de planter les fonctions de correction de caract�re lorsqu'on leur donne un tableau au lieu d'une chaine.
+r17384 | marcimat | 2011-03-13 11:24:27 +0100 (dim, 13 mar 2011) | Placer le code apr�s les d�clarations statiques plutot.
+r17431 | marcimat | 2011-03-16 18:36:32 +0100 (mer, 16 mar 2011) | mysql doit �chaper le nom de la table aussi lors des suppressions de tables.
+r17441 | esj | 2011-03-18 17:03:59 +0100 (ven, 18 mar 2011) | Dans un fichier XML, il peut y avoir plusieurs commentaires ou PI en d�but de fichier, avant de tomber sur le Doctype ou la premi�re vraie balise.
+r17448 | esj | 2011-03-18 23:26:38 +0100 (ven, 18 mar 2011) | Report de r17447. Un oubli d'actualisation qui emp�chait la validation XML de se faire sur les extraits XHTML produits par ajax_retour.
+r17454 | esj | 2011-03-20 14:21:56 +0100 (dim, 20 mar 2011) | Quand le validateur se rappelle avec une query-string qu'il a devin�e, il faut ignore celle-ci quand on calcule le nom du script. Pour bien faire il faudrait �tre capable d'en faire profiter le validateur.
+r17476 | cedric | 2011-03-23 10:03:55 +0100 (mer, 23 mar 2011) | report de r17474 : pas de bug si le plugin est dans un sous dossier plugins/ de plugins/+ une protection en cas de double inclusion malencontreuse du fichier options des plugins
+r17492 | fil | 2011-03-24 22:23:38 +0100 (jeu, 24 mar 2011) | correctif XSS suite a r4837 (remerciements pour Arnault)
+
+
+Extensions 2.1.8->2.1.9 (25/03/2011)
+
+r44010 | potter | 2011-01-30 20:04:07 +0100 (dim, 30 jan 2011) | Pouvoir d�finir une option padding_vertical et padding_horizontal. C'est bien plus pratique parce que souvent les polices ne d�passent de la boite que en vertical, donc l'int�r�t aussi de l'�largir sur l'horizontal est pas terrible...Ce qui manque serait de pouvoir d�finir vraiment un padding top right bottom left.Une petite astuce pour ceux qui voudraient ne garder qu'un padding en bas � pr�sent (et donc mettre limage typo *aux bords* m�me avec une police qui d�passe : {{#SET{padding,15}#SET{hauteur_tout,#NOM_SITE_SPIP|image_typo{police=LEVIBRUSH.TTF, taille=#GET{taille}, couleur=#GET{couleur_tout}#GET{couleur_tout}, padding_vertical=#GET{padding}}|extraire_attribut{src}|hauteur}#SET{new_hauteur, #GET{hauteur_tout}|moins{#GET{padding}}}#SET{largeur_tout,#NOM_SITE_SPIP|image_typo{police=LEVIBRUSH.TTF, taille=#GET{taille}, couleur=#GET{couleur_tout}, padding_vertical=#GET{padding}}|extraire_attribut{src}|largeur}[(#NOM_SITE_SPIP|image_typo{police=LEVIBRUSH.TTF, taille=#GET{taille}, couleur=#GET{couleur_tout}, padding_vertical=#GET{padding}}|extraire_attribut{src}|image_recadre{#GET{largeur_tout},#GET{new_hauteur},bottom})]}}C'est s�r que c'est lourd, mais avec le cache de SPIP, �a fonctionne plut�t bien.Et �a ne casse en rien les existants padding : ils resteront comme avant.
+
+
+Core 2.1.7->2.1.8 (14/01/2011)
+
+r16959 | cedric | 2011-01-13 18:39:26 +0100 (jeu, 13 jan 2011) | la balise formulaire_admin est sur toutes les pages,ne pas provoquer l'inclusion de abstract_sql pour autant, si le visiteur est anonyme,cela laisse a penser qu'on a une connexion sql a chaque hit.On retarde l'inclusion au cas ou le visiteur aura acces aux boutons d'admin
+r16960 | cedric | 2011-01-13 23:04:34 +0100 (jeu, 13 jan 2011) | lorsque la redirection sur une action est absolue, il s'agit le plus souvent de l'adresse du site lui meme : transformer en url relative plutot que tout vider (cas de l'auth openid)
+r16961 | cedric | 2011-01-13 23:26:31 +0100 (jeu, 13 jan 2011) | Redirection en cas d'echec sur authentification : il faut utiliser & et non & sur l'url
+r16962 | cedric | 2011-01-14 09:39:52 +0100 (ven, 14 jan 2011) | inclusion manquante (bmr)
+r16963 | cedric | 2011-01-14 09:49:45 +0100 (ven, 14 jan 2011) | parse_url n'accepte un deuxieme argument qu'a partir de PHP 5.1, corriger la syntaxe pour utiliser la version avec un seul argument.
+
+Extensions 2.1.7->2.1.8 (14/01/2011)
+
+r43547 | cedric | 2011-01-13 19:11:18 +0100 (jeu, 13 jan 2011) | declarer les pipelines dans plugin.xml plutot que dans un fichier options charge a chaque hit
+
+Core 2.1.6 -> 2.1.7 ( 13/01/2011)
+r16893 | fil | 2011-01-05 09:50:20 +0100 (mer, 05 jan 2011) | eviter un Warning: Division by zero in ecrire/inc/invalideur.php on line 156
+r16897 | cedric | 2011-01-06 09:13:31 +0100 (jeu, 06 jan 2011) | report de r16734 : Evacuer les eventuelles clauses group vide au calcul des requetes dans un squelette.Permet a un critere d'injecter une clause group dynamique, evaluee au calcul, qui rendra '' si pas de group a faire.
+r16898 | esj | 2011-01-06 10:58:42 +0100 (jeu, 06 jan 2011) | Retour sur r16857: l'erreur du showtable provenait en fait d'une mauvaise citation de l'argument, et la correction emp�chait l'acc�s aux vues. Nouveau correctif plus adapt�, et d�coupe de la fonction principale du d�busqueur en 2 pour pouvoir le surcharger plus facilement sans perdre le libell� des erreurs c'est indispensable (la preuve).
+r16904 | cedric | 2011-01-06 12:22:01 +0100 (jeu, 06 jan 2011) | Securite : redirections absolues depuis les actions (Matsuyama)introduire une fonction tester_url_absolue() qui teste si une url est absolue.L'utiliser dans le formulaire login et dans la securisation du parametre redirect de toutes les actions via public/aiguillerainsi que pour le parametre url de l'action cookie (pourquoi n'utilise-t-on pas le meme nom de variable ici ?)parse_url ne fonctionne pas sur les urls relatives, dans le formulaire de login. On corrige donc.
+r16905 | cedric | 2011-01-06 12:25:56 +0100 (jeu, 06 jan 2011) | securite : cast sur $exec (Matsuyama)
+r16906 | cedric | 2011-01-06 12:28:54 +0100 (jeu, 06 jan 2011) | securite : cast string sur la variable page de l'url (Matsuyama)
+r16914 | esj | 2011-01-07 23:28:33 +0100 (ven, 07 jan 2011) | Depuis que r14606 a enlev�, � juste titre, le LIKE dans le SHOW TABLE, la cr�ation d'un nouveau site ou la mise en route d'un plugin avec tables SQL provoque syst�matiquement des erreurs SQL inutilement alarmantes. De plus, la variable statique ignorait la valeur de l'argument $serveur, pas vraiment utile pour le moment mais qui en cas d'erreur opacifiait ce qui se passait. On remet tout �a au carr�.
+r16919 | fil | 2011-01-08 13:13:39 +0100 (sam, 08 jan 2011) | pas de boucle infinie sur un csv vide
+r16932 | fil | 2011-01-09 17:53:49 +0100 (dim, 09 jan 2011) | refermer les balises mal fermees par le diff
+r16942 | ben | 2011-01-11 17:32:26 +0100 (mar, 11 jan 2011) | Visiblement c'est une fonction et pas un objet / sqlite_open
+r16943 | cedric | 2011-01-11 21:23:04 +0100 (mar, 11 jan 2011) | Suite a r16898, corriger l'echappement de $match pour postgre et remplacer le like par un regexp dans sqlite car ESCAPE n'est pas supporte dans les versions 2 de sqlite
+r16946 | cedric | 2011-01-12 15:46:31 +0100 (mer, 12 jan 2011) | ne pas convertir en url absolue les url des directives filter progid:DXImageTransform.Microsoft.AlphaImageLoader(src=...,..) (nhoizey)
+r16947 | cedric | 2011-01-12 17:32:56 +0100 (mer, 12 jan 2011) | Les plugins se desactivent dans le public si on a la mauvaise idee de mettre un sous dossier plugins/ dans le dossier plugins/
+r16948 | cedric | 2011-01-13 11:27:07 +0100 (jeu, 13 jan 2011) | eviter de perdre son temps a chercher des fonds improbables
+r16949 | cedric | 2011-01-13 11:28:23 +0100 (jeu, 13 jan 2011) | texte_script doit toujours etre utilise quand on utilise un #ENV dans du php dans un squelette, il n'y a pas d'exception qui tienne
+r16953 | esj | 2011-01-13 12:43:55 +0100 (jeu, 13 jan 2011) | En mode debug, neutraliser le Content-Disposition sinon on ne voit presque rien.
+r16955 | esj | 2011-01-13 13:18:54 +0100 (jeu, 13 jan 2011) | S�curiser l'appel des sous-squelettes priv�s (A. Pachot).
+
+Extensions 2.1.6 -> 2.1.7 ( 13/01/2011)
+r43375 | cedric | 2011-01-07 16:20:18 +0100 (ven, 07 jan 2011) | la suppression des declarations vide n'etait pas assez prudente et entrainant quelques troncature de selecteur mal a propos ! (Nicolas Hoizey)
+
+Core 2.1.5 -> 2.1.6 ( 02/01/2011)
+r16805 | esj | Eviter une erreur SQL dans les URL propres, quand on indique une table dont on n'a pas précisé dans la globale {{{table_titre}}} le champ indiquant le titre de l'objet.
+r16807 | rasta | Cohérence entre URLs arbo et propre : le champ utilisé comme titre pour les objets éditoriaux est par défaut le champ nommé "titre" dans la base si rien n'est déclaré.
+r16809 | esj | Amélioration de r16807: gérer le champ titre par défaut au niveau de trouver_table, afind'éviter toute erreur SQL, en particulier celle potentielle dans les URL arbos.
+r16849 | esj | Pas d'année 0000 en Postgres. Résoud #1987.
+r16857 | esj | Sql_showtable provoquait une erreur SQL en cas de table inconnue ou sans droits de Select, ce n'est pas gérable. Mysql n'offrant pas un "IF EXISTS", on fait un appel à "showtables like" auparavant, lequel ne renvoie rien sans râler si pas de droit de Select, ou pas de réponse au Match.
+r16862 | cedric | report de r16852
+r16870 | esj | Enfin compris pourquoi certaines erreurs de compilation bloquaient parfois le signalement d'autres erreurs. Par ailleurs, r14404 a supprimé la fonction affiche_erreurs_page et son appel conditionné à la fin de index.php. Je ne sais pas pourquoi il a été rétabli ensuite, mais c'est du code mort.
+r16872 | esj | Décidément, r16788 s'était bien pris les pieds dans le tapis, pas seulement le copyrightcomme l'annonçait r16775. Voici enfin le bon correctif du cas pathologique.
+r16874 | esj | Ne pas proposer de restreindre à une certaine rubrique quand aucune n'est créée. Et validation XHTML.
+r16876 | eric | Correction de l'info_maj de SPIP qui renvoie maintenant uniquement la version SPIP disponible la plus élevée.
+r16879 | fil | divers bugs de secu permettant a un redacteur de faire du grabuge (securitoile)
+r16880 | fil | xss sur une page non trouvee (securitoile, realet)
+r16884 | cedric | bloquer les redirection absolues dans le formulaire de login, en prévoyant une constante pour les webmestres qui veulent désactiver cela pour des raisons qui leur appartiennent (ce qui permet de sécuriser en assurant tout de même une continuité de fonctionnement pour ceux qui utilisaient malheureusement cette fonctionnalité).
+
+Core 2.1.4 -> 2.1.5 ( 21/12/2010)
+r16784 | esj | report de r16783. Triple bug en r15088 : la table SQL 'forums' n'existe pas, le nom de la variable n'était pas le même que dans son utilisation plus loin, et son sens n'était plus le même.
+
+Core 2.1.3 -> 2.1.4 ( 21/12/2010)
+r16745 | cedric | Quand un article est une redirection reposant sur un raccourci de SPIPil faut generer une url absolue car celle-ci peut etre utilisee depuis une pageavec une profondeur >1 en cas d'url arborescentes.+ la fonction chapo_redirige a manifestement change de signature depuis longtemps et ne renvoie plus qu'une chaine, mais sa documentation aussi bien que la fonction tester_redirection ne le savaient pas : mise a jour de la doc et correction de la fonction de redirection pour renvoyer l'url complete dans le corps du 302 au lieu du premier caractere...
+r16762 | cedric | La verification de conformite du champ en base par rapport a ce qui a ete envoyee echouait aussi si on envoit une valeur vide sur un champ date, car SQL le cast en '0000-00-00'.Plus generalement, cette verification risque d'echouer sur tout type de champ caste (int, double, float, date, time, year, enum...) et on l'ignore dans ce cas
+r16763 | cedric | $limit indefinie et liberer la resource dans spip_sqlite_count
+r16764 | esj | modification du copyright.Je profite de cette écriture massive pour normaliser quelque chose de trompeur lorsqu'on compare deux versions, savoir l'usage de " ou ' dans le premier argument de define et defined. Comme les chaînes entre apostrophes sont plus rapidement analysées que celles entre guillemets, je choisis l'apostrophe
+r16768 | esj | Depuis r11919 (généricité des tables de mots associés), le cas pathologique de la création d'un mot sans qu'aucun groupe de mot ne soit créé au préalable n'était pas blindé contre un nom de table vide: ça bouclait.
+r16775 | esj | r16768 s'est pris les pieds dans tapis avec le copyright.
+r16776 | esj | r16373 a eu raison de réparer le bug de conception dans generer_url_public dans le cas relatif depuis l'espace, mais du coup le lien dans le contrôle des forums qui contournait ça ne marchait plus.
+r16778 | esj | Liens de traduction sous la forme [{en}->art2] ou [{}->art2]: ignorer les articles refusés (Paolo).
+
+
+Core 2.1.2 -> 2.1.3 ( 14/12/2010 )
+r16030 | fil | une date fixe dans le futur pour beneficier du query cache sql + commentaire
+r16032 | cedric | Le refactoring de [15970] avait rendu impossible le telechargement de lib qui etaient confondues avec des plugins...En effet plugins_get_infos() renvoyait toujours un tableau, meme si le fichier plugin.xml n'existe pas.Du coup on modifie ce cas qui n'est pas utilise autre part en renvoyant false.
+r16035 | fil | rtrim() pour faire le job
+r16039 | fil | bug dans la modification de date d'un document, generant de faux messages d'erreur lors de l'edition du titre lorsque l'option 'modifier la date des documents' est active (Robert caron, denisb) http://permalink.gmane.org/gmane.comp.web.spip.user/160536 http://permalink.gmane.org/gmane.comp.web.spip.user/160592
+r16043 | bb | on insère jquery.cookie dans toutes les pages (par défaut dans jquery_plugins)
+r16048 | fil | affichage des stats : suite et consequences de [15986] (realet)
+r16079 | fil | {{{ _SERVER['REQUEST_TIME'] }}} n'est pas dispo avant PHP 5.1
+r16110 | denisb | depuis [15987] test_sql_mode_mysql() s'est déplacée dans ecrire/req/mysql.php ce qui bloquait toute install non mysql (http://permalink.gmane.org/gmane.comp.web.spip.devel/58749).
+r16112 | cedric | suite a [15925] un post '' sur un champ intval stocke 0 provoque une alerte (incomprehensible) de conflit d'edition.Deseveriser le test en n'alertant pas lorsque la valeur en base est is_numeric et que la comparaison des intval est identique, mais c'est un pis-allerJe pense qu'il faudrait enlever ca de cette branche et le reprendre plus proprement, en tenant compte du type du champ pour faire la comparaison.Sinon, on oblige tous les formulaires a caster le post pour qu'il soit identique au format en base, ce qui est contraignant.
+r16117 | esj | Depuis le [14633], l'identification par LDAP d'un nouvel utilisateur ne fonctionnait plus! Ce serait bien d'éviter les logs trompeurs.
+r16118 | esj | La protection des documents par Htacces a été bousillée par [13957]. Retour au code précédent.
+r16119 | esj | Deux bugs : * lorsque l'argument d'un INCLURE ne comportait pas de "=" mais était suivi d'espace ou de Return, ceux-ci n'étaient pas retirés et se retrouvaient dans les index du tableau {{{$contexte}}} * le remplacement de {{{#LOGO_X|fichier}}} par {{{#LOGO_X**}}} etc ne marchait pas en PHP5.
+r16120 | esj | Les noms des paramètres d'une chaîne de langue étendue n'étaient pas entourés d'apostrophes dans le tableau argument de la fonction _T produit par le compilateur. Et eux non plus n'étaient pas expurgés de leurs espaces, ce bug étant neutralisé par le premier. Tant qu'à intervenir sur la fonction traitant les chaînes de langues, je réintroduis la constante MODULES_IDIOMES aveuglément viré par [16006].
+r16121 | esj | Les modes d'appels SQL ne concernent que MySQL, retour sur [15987] (Désolé pour [16110] Denis, j'avais préparé ça avant ton envoi, et cette manière prépare le portage éventuel pour les autres serveurs SQL). En prime, découper en 2 l'étape 5 d'installation de LDAP pour pouvoir insérer facilement une étape supplémentaire (multi-serveurs LDAP etc).
+r16131 | cedric | un oeuf de paque malvenu dans [16119]. Gardons le au chaud pour quand ce sera la bonne saison, mais en attendant, point de var_dump dans la branche stable.
+r16132 | cedric | il semble qu'on arrive pas a charger certaines lib, la faute au Content-Type ?On se rabat sur l'extension quand elle est explicite.
+r16138 | esj | L'interdiction de déclarer une base externe à qui n'est pas admin introduite à raison par [14347] a été faite trop à l'arrachée: comme {{{exec=install}}} dispense d'authentifier, l'utilisation de {{{autoriser('configurer')}}} ici ne repose plus que sur le cookie, qui n'est pas forcément présent, d'où un refus excessif. Il faut authentifier, même tardivement, afin que les autorisations soient calculables.Par ailleurs, en cas de fichier de connexion corrompu, SPIP refuse de se réinstaller tout en disant qu'il ne peut pas marcher. Il faut donc d'une part vérifier que ce fichier contient ce qu'il faut avant de prétendre que SPIP est installé, et corriger l'option {{{tantpis}}} dans la création du fichier de session, option qui ne marchait pas en cas de serveur SQL inaccessible.
+r16140 | bb | ceci *est* un var_dump :p
+r16141 | esj | Comme pour la réécriture [14175] des balises LOGO revue en [16119], la réécriture de la balise EMBED_DOCUMENT dès l'analyse syntaxique (cf [14177]) ne marchait pas en PHP5.
+r16159 | esj | Fichier d'installation corrompu, complément à [16138]: traitement du cas aux étapes ultérieures.
+r16165 | esj | Option {{{tantpis}} du fichier de session sans cookie en retard (retour sur [16139].
+r16168 | esj | Oups, confusion dans les comportements fetsel/getfetsel dans [16166].
+r16171 | esj | Mais non, là on est revenu à la case départ. La confusion c'était entre {{{true}}} et {{{continue}}} de l'argument {{{option}}} de {{{sql_getfetsel}}}. Ce coup-ci on a bien à la fois le logout correct, le login automatique à l'install, et l'install forcée en cas de fichier corrompu.
+r16202 | marcimat | Un trim en plus sur le nom des champs car certains outils pour SQLite utilisent des guillemets doubles lorsqu'ils modifient la structure des tables... (sqlite manager, par exemple).
+r16205 | marcimat | Même chose que [16202] sur la primary key...
+r16206 | marcimat | sql_showbase avait une coquille sous SQLite dans la requête d'extraction de la liste des tables de la base de donnée.
+r16212 | fil | un lien pour aller du forum admin au forum interne et vice-versa, cf http://www.spip-contrib.net/Le-plugin-Autorite#forum434569
+r16217 | esj | L'implémentation de la fonction {{{sql_showbase}}} ne correspond pas à la spécification [10371] qui l'a introduite: si dans une base on utilise deux préfixes de tables dont l'un est une apocope de l'autre, cette fonction va renvoyer les deux jeux de tables quand on demande le premier jeu. Ca fait particulièrement mal dans l'action de destruction des tables d'un site sur un installation mutualisée.
+r16219 | esj | Ca, par exemple: la fonction d'analyse de fichier de connexion ne reconnaisait pas un fichier en version 0.4
+r16329 | fil | retour sur http://core.spip.org/trac/spip/changeset/15905 ligne 531 qui bug l'affichage dans l'espace prive fr d'un article en, en ne lui donnant pas la bonne typo (le bug etait aussi dans textwheel, mais pas dans spip trunk)
+r16348 | esj | Warning indiquant en fait une écriture inutile dans l'aide en ligne (Hoizey). Et éliminer un log qui n'est pas forcément alarmant.
+r16350 | esj | Uniformiser les cas d'erreur dans le validateur pour éviter un warning.
+r16353 | cedric | traiter les insertions vide au mieux en indiquant un champ qui a un default dans la requete d'insertion pour que sqlite ne couine pas.Necessite au moins un champ avec default dans la table
+r16354 | cedric | traiter les insertions vide avec une clause DEFAULT VALUES, c'est encore mieux.
+r16355 | cedric | CEIL et FLOOR sont absente de sqlite2 mais utilisee par le calcul du rendu des statistiques
+r16356 | esj | Ne pas écrire en dur l'extension des squelettes, elle pourra changer un jour.
+r16365 | esj | Passage en minuscule des noms de serveurs: [14467] était effectivement sale et brutal, puisque URL_PAGE ne fonctionnait plus du tout sur un connect avec une majuscule, et il doit y avoir d'autres problèmes car l'oubli était chronique dans le code, on répercute. Ce dépôt corrige également l'autre bug sur URL_PAGE signalé dans [16360] et avant.
+r16369 | esj | Scorie dans [16365] (Cédric).
+r16373 | davux | Correction de generer_url_public() en relatif dans le priveReport de [16362]: Utiliser _DIR_RACINE pour redescendre d'un niveau quandon appelle generer_url_public() depuis l'espace privé avec $rel=true.
+r16376 | cedric | des lignes en trop a la fin de ce php qui provoque une sortie indesiree
+r16379 | cedric | dans sqlite, certaines erreurs SQL produisent des erreurs/warnings PHP qu'il faut catcher pour pouvoir loger. On utilise error_get_last() de PHP
+r16380 | cedric | 1sDeux bugs de la couche sqlite autour des md5 des referers :- la notation 0xF1 n'est pas connue de sqlite- la notation x'F1' est connue de sqlite3 mais ne semble pas utilisable pour caster une representation hexa d'un INT en INTOn est donc force de traiter les representation 0xF1 dans PHP par un appel a hexdec dans les fonctions quote et citePar ailleurs, a la creation de table tous les bigint sont converti en int pour beneficier de l'autoincrement, mais cela n'a d'interer qu'enpresence d'un autoincrement. On passe donc le flag a la fonction concernee lors de la creation de table, ce qui permet de preserverun type bigint sur les referer_md5 et d'accepter les entiers obtenus par hexdec() sur les md5 des referers.Je crois que ce patch laisserait passer un alter en bigint via sql_alter sur un champ autoincrement, ce qui n'est pas parfait. A completer peut etre, bien que ce cas soit tres hypothetique.
+r16395 | cedric | _sqlite_func_unix_timestamp ne fonctionnait que si heure:minute:seconde etaient bien present dans la date.On debug la regexp, mais, encore plus simple, on la remplace par strtotime qui fait le job aussi bien.
+r16408 | cedric | ne pas auto-associer les documents aux forums et aux signatures de petition
+r16418 | cedric | ne pas provoquer des inclusions lorsque la balise #URL_ECRIRE est dans un squelette, report adapte de [16413]
+r16424 | cedric | il n'est evidemment pas necessaire de decoder le contexte ajax et de faire plein de verification si le form poste n'a pas le meme nom que le form que l'on affiche, pour savoir si celui-ci vient d'etre poste...
+r16454 | cedric | peut etre que mysql ressortait par chance les stats dans le bon ordre, mais pour sqlite il faut explicitement un order by sur la date pour que ca soit trie...
+r16466 | fil | url_absolue doit nettoyer les // dans les urls, mais PAS dans la query apres le '?' (toutati)
+r16473 | cedric | traiter les array() en premier, car la fonction strncmp utilisee pour traiter les int provoque un warning sinon
+r16474 | cedric | SQLite fait une division entiere sur le timestamp, il en resulte une date arrondie au jour precedent, malgre le ceil qui suit.On reformule avec un floor qui devrait marcher dans tous les SQL
+r16475 | fil | report oublie de [14484] (bug dans l'API sql_* : le mysql_error() est en effet lie a la derniere connexion ouverte, il faut donc passer systematiquement la variable serveur si on veut pouvoir parler a deux connexions en meme temps (sinon, seule la derniere connexion ouverte parle) ; cf. http://php.net/mysql_error j'imagine qu'il va falloir etendre aux autres portages)
+r16476 | fil | suite de [16475]
+r16478 | bb | coquille (mieux qu'une virugle BoOz :p)
+r16480 | cedric | lorsque la balise contient des attributs, il faut quand meme etre capable de poser un en urls arbos
+r16485 | cedric | #1967 ne pas mentionner explicitement 0minirezo mais s'en refereer aux autorisation pour editer une rubrique(reliquat de [8438] modifie par [8466])
+r16486 | fil | ne pas mourir lorsqu'on demande juste l'errno et l'error suite a une erreur sql (retour donc sur [16476] , denoncee par kent1 comme cassant la mutu)
+r16488 | cedric | Report de [16075] pour resoudre #1916
+r16499 | davux | Permettre à urls_generer_url_xxx() de passer la mainReport de [16492] et [16497], appliqué à tous les schémas d'URL.
+r16510 | cedric | lorsqu'aucun login n'est saisi, renvoyer un message 'L'identifiant "" est inconnu' est un peu incomprehensible.Preferer un 'Cette information est obligatoire' sur le champ login !
+r16513 | cedric | ne pas confondre le filtre |balise_img qui produit une balise HTML a partir d'un nom de fichier, et la fonction qui definirait la balise SPIP #IMG (denisb)Du coup la fonction balise_img() devient moins pratique a utiliser dans le PHP. Faut-il proposer un nommage alternatif |tag_img pour cela, voire |img_tag ou tout simplement |img ?
+r16516 | esj | Lors de la mise en squelettes ([12385]) des flux RSS des forums, auparavant assurés par l'action {{{rss}}}, la clause LIMIT ajoutée par celle-ci aux différentes requêtes SQL n'avait pas été reporté dans chacun des squelettes. Du coup, lorsqu'on s'abonne à un vieux site, le flux peut contenir des milliers d'entrées que SPIP n'a pas le temps de produire. Le problème avait été vu et corrigé par [14646] pour les flux publics, mais pas pour les flux privés.
+r16518 | denisb | le parseur xml doit pouvoir repérer tous les 'white space character' dans les tag (voir : http://www.w3.org/TR/REC-xml/#AVNormalize) et ne pas se limiter au seul 'espace'.on peut donc écrire dans son fichier xml : {{{ }}}
+r16521 | esj | Le calcul du nom de login à partir du mail n'avait jamais marché. Six ans après [3824] on s'en aperçoit.
+r16523 | denisb | suite de [16518].suppression de l'espace malvenu en fin de contenu d'un tag. causait (par exemple) l'impossibilité d'un appel du type :{{{ #CHEMIN{#PLUGIN{cfg, icon}}}}}
+r16526 | denisb | reprenons [16523] et corrigeons en amont plus proprement.plus petit commentaire.
+r16529 | kent1 | Créer les bon chemins pour les plugins dans un _DIR_PLUGINS_SUPPL
+r16530 | denisb | finalement, on revert [16523] et [16526].on ne touche pas au parseur xml, mais on nettoie le superflu retourné dans la fonction get_infos() (cerdic)
+r16538 | kent1 | Un pipeline pour pouvoir avoir de nouveaux statuts d'auteurs visibles ...
+r16539 | cedric | permettre d'augmenter la duree des sessions via define('_RENOUVELLE_ALEA',..) n'avait aucun effet puisque les sessions de plus de 48h etaient supprimees au moindre login, ce delai etant lui en dur.On le modifie au profit de 4*_RENOUVELLE_ALEA.
+r16541 | kent1 | Un pipeline non déclaré ...
+r16542 | esj | Lors de la refonte du débusqueur pour qu'il donne plus d'informations, et cela dans la langue de l'utilisateur, celle-ci est devenue à tort la valeur par défaut de la langue des traductions de chaînes de langue lors de l'exécution d'une balise dynamique. Ce changement a été opéré par [14322] en bas, où {{{\$GLOBALS['spip_lang']}}} est remplacé par {{{_q($GLOBALS['spip_lang])}}} c'est-à -dire par un calcul immédiat (à la compilation) au lieu d'un calcul différé (à l'exécution). Comme l'appel de {{{recuperer_fond}}} a toujours été prevu pour founir la bonne valeur par défaut, on n'aurait en fait jamais dû trimbaler cette valeur jusqu'à {{{synthetiser_balise_dynamique}}}, qui donc ne s'en soucie plus.
+r16544 | kent1 | Qui ne dit rien consent ...Si le champ est null on retourne null et non pas une valeur vide '' dans les CVT
+r16550 | cedric | Lorsqu'un nouvel inscrit se connecte pour la premiere fois, sa session est corrompue au moment ou on lui fixe son statut definitif (en remplacement de 'nouveau) car la globale visiteur_session n'a pas encore ete chargee mais est utilisee par session_set.Charger la session au prealable du changement de statut, donc, dans ce scenario.
+r16553 | kent1 | Des accents oubliés sur une chaine de langue
+r16556 | esj | Le find_in_path pour la DTD locale introduit par r15963 n'était pas assez général car contraint en amont par le préfixe 'prive'
+r16558 | esj | Accpeter dans une DTD un élément à contenu totalement vide (même pas EMPTY explicite).
+r16560 | esj | Créer le repertoire de cache des DTD (source et compilée) en début d'analyse, dans le cas d'une DTD locale qu'on ne recopie pas, l'écriture du cache échoue s'il n'est pas là (Eric).
+r16562 | kent1 | Comme cela n'a pas l'air de déchainer les passions ... Je commites déjà cela pour éviter d'avoir des urls menant vers des fichiers ou répertoires existants
+r16563 | kent1 | On revert ... et on garde ce bug ... (réglable dans un htaccess à priori)
+r16567 | cedric | un mutualisation avec repertoire, se fier au chemin de spip.php via $_SERVER['SCRIPT_NAME'] ne marche pas.On detecte ce cas par le fait que le repertoire temporaire est different de _NOM_TEMPORAIRES_INACCESSIBLES, et on s'en remet alors a adresse_site comme auparavant.Mais les sites normaux garde la possibilite d'etre accessible par plusieurs urls avec des profondeurs differentes.
+r16569 | denisb | ne plus masquer les warning.
+r16575 | bb | report de r16574 (deux customs events pour se brancher en début et fin de l'action des blocs depliables)
+r16577 | bb | jQuery 1.4.4 avec 5 jours de retard...
+r16580 | esj | Include manquant pour la fonction Typo lorsque l'on rappatrie un document distant.
+r16587 | kent1 | Un hack assez moche qui doit être très ancien de moins
+r16588 | kent1 | Un grep me donne cet autre hack moins grave apparemment mais là quand même
+r16589 | romy | Des boutons d'admin fixes, pour ne plus les perdre de vue, et translucides, pour voir en dessous.
+r16590 | kent1 | Si l'id_auteur == 0, il n'est pas créé donc il n'est pas intervenu dans le site, donc on n'essaie pas d'afficher ses articles et autres...
+r16591 | cedric | Dans les flux RSS, certains editeurs croient bon de forcer un retrait avec des en debut de texte.On trim donc le contenu des flux en prenant en compte ces en debut ou fin de texte, comme des espaces.
+r16592 | cedric | Revert de [16591] qui est doublement mauvais. Je me cache.
+r16593 | cedric | Dans le cas ou on ne garde qu'un resume des contenus syndiques, nettoyer les espaces insecables eventuels utilises par l'esiteur du flux pour faire du retrait avec une fonction trim_more
+r16594 | cedric | utiliser la syntaxe abregee jQuery(function(){...}) ou $(function(){...})au lieu de jQuery('document').ready(function(){...}) (ou $..)permet un chargement asynchrone de jQuery avec une fonction temporaire factice jQuery qui collecte les function pour les executer lorsque jQuery est reelement disponibleOn veillera donc a utiliser systematiquement cette ecriture
+r16595 | esj | Depuis que l'espace privé utilise aussi des squelettes, il faut mettre la profondeur d'URL dans le contexte implicite des pages cachées, sinon les pages cachées utilisant les balises URL_* produites dans un des espaces seront exploitées à tort quand elles seront demandées à partir de l'autre espace. Cela est en particulier le cas du squelette 404 et ceux qu'il incluent, exploité par les 2 espaces.
+r16597 | bb | permettre d'utiliser l'autorisation editermots sans avoir à passer $opts['groupe_champs'] à celle-ci (pratique lors de son utilisation dans un squelette).report de http://zone.spip.org/trac/spip-zone/changeset/42435
+r16599 | cedric | Attention, par defaut sql_showtable ne traduit pas les prefixes spip_, il faut lui passer le second argument a true pour cela.Bloquait la recopie des tables en fin d'import depuis une version ancienne si le prefixe de la table principale n'etait pas spip_ (emmanuel)
+r16601 | kent1 | on revient sur [16538]- On supprime le pipeline ajouté qui ne sert à rien- On teste juste les mêmes valeurs à chaque fois que l'on utilise traduire_statut_auteur() plutot qu'une fois la clé et une fois la valeur de $GLOBALS['liste_des_statuts']
+r16602 | esj | La correction des URL_* par r16595 ne marchait pas pour les URL-arbos (Cédric), en voici une autre.
+r16607 | davux | Report de r16605 (mise à jour de l'URL des changesets)
+r16613 | booz | Une boucle forum avec le critere {recherche} et le critere {plat} ou {tout} ne doit pas agréger les résultats par thread
+r16614 | booz | oups
+r16618 | davux | Report de r16616: ajout de langue Nasa Yuwe (pbb)
+r16621 | davux | Dans les flux RSS, encoder en entités XML, pas HTMLReport de http://zone.spip.org/trac/spip-zone/changeset/42644
+r16623 | cedric | L'optimisation de la maj des popularites par un sql_alter est un non sensen sqlite qui ne sait pas faire d'alter et est oblige de faire des contorsionspour y arriver. Avec consequence que ca peut casser au milieu et rendre lesreferers non fonctionnels. On fait donc ici un test sur le type de base utilisepour faire un sql_update simple dans le cas sqlite
+r16624 | cedric | ecrire_meta ni liberait pas la ressource sql. Cela pose probleme en sqlite, en particulier si on essaye de faire un sql_alter apres un ecrire_meta.On corrige aussi la fonction lire_metas qui ne liberait pas non plus la ressource sql.
+r16625 | cedric | Google&co indexe les urls courtes microbloguees. Il convient donc de les rediriger parun status 301 afin d'indiquer que cette adresse courte est definitivement renvoyeevers l'url complete
+r16629 | bb | report de r16628 ( alt au sketch : depuis r15394 on échappait plus l'attribut alt de l'image (patv) )
+r16635 | bb | report de r16631 et r16333 pour régler #1957 ( Ce script ne fonctionne pas en 2.3 et provoque un bug bloquant en 2.1 (cf ticket #1957 ), On gère le cas ie7 bien plus simplement depuis la feuille de styles. / evacuons cette exception de traitement qui n'a plus lieu d'etre. Toutes les protections de champs sensibles sont assurees a la declaration de la table des traitements, par les extensions )
+r16636 | cedric | oups, double ligne inutile introduite par [16625]
+r16643 | davux | Report de r16639 : Permettre de surcharger _BALISES_BLOCS dans mes_options Ne pas râler si _BALISES_BLOCS a été surchargé dans le fichier d'options (par exemple parce qu'on a beau comprendre la théorie, on trouve ça naze que ins et del provoquent des coupures de paragraphe).
+r16667 | cedric | report de r16459 :dans une pagination, lorsque la page demandee etait superieure au nombre de resultats, cela provoquait une boucle vide et des messages saugrenus du genre "Il n'y a aucun ...".On borne donc, et dans tous les cas, la boucle affiche ce qui correspond a la derniere page de la pagination.Ainsi, si en ajax on retire des elements de la liste paginee, celle-ci revient automatiquement a la page precedente lorsqu'on a vide la deniere page.+ saturation de la page courante affichee a la valeur de la derniere page
+r16675 | fil | retour de l'etoile sur le bouton d'admin quand la page est prise dans le cache
+r16677 | fil | revert [16675] commite par erreur
+r16682 | cedric | ne pas introduire de styles en dur dans les tableaux, mais preferer injecter une classe "numeric" sur les colonnes numeriques. Elle est completee par une classe "virgule" ou "point" selon le separateur, meme si non utilisable pour le moment faute d'implementation dans les navigateurs
+r16725 | cedric | report de r16582 : depiler la langue lorsqu'on l'a changee
+r16731 | fil | mieux loger le genie
+
+Extensions 2.1.2 -> 2.1.3 ( mi dec 2010 )
+r40009 | cedric | pas de division par zero
+r40085 | real3t | 2 bugs : * le charset défini dans spip_meta n'était pas correctement récupéré* le header n'était jamais envoyéLe bug n'était visible que sur un site où apache avait sont charset par défaut à autre chose que utf-8
+r41348 | marcimat | Mise à jour de Markitup en version 1.1.8 + Corrections pour les sélections automatiques de mots sous Opéra.
+r41349 | marcimat | Commentaires en moins.
+r41384 | cedric | mettre en define le code d'insertion des js compresse pour permettre d'y ajouter un attribut defer pour ceux qui le veulent
+r41390 | cedric | plutot qu'un define, on utilise deux callback surchargeables compacte_ecrire_balise_link() et compacte_ecrire_balise_script() pour produire les balises des css et js compresses
+r41452 | kent1 | Des broutilles
+r41613 | marcimat | Report partiel de [41612] (strlen doit être une chaine)
+r41959 | kent1 | La version en anglais du plugin.xml + on utilise le plugin bando en 2.1 pour être sûr de passer derrière pour les autorisations de voir les boutons au moins (peut être à revoir)
+r41960 | kent1 | On est passé en objet/id_objet
+r41987 | kent1 | Changement du nom de la fonction email_notification_forum pour ne pas avoir de problèmes avec le plugin notifications ni la fonction du core de SPIP (en 2.1)
+r41988 | kent1 | On surcharge inc/regler_moderation de la 2.1 pour éviter une erreur sql et voir le nombre de messages de forums de l'article
+r41989 | kent1 | $mydate s'était paumé quelque part
+r42194 | kent1 | Déclarer la fonction du pipeline même si elle ne fait rien :- elle permet de charger ce fichier pour utiliser l'autre fonction - cela évite de recalculer les pipelines parce que SPIP ne la trouve pasÃviter les espaces disgracieux en début de ligne dûs au filtre |oui
+r42215 | fil | un media css non precise est equivalent a all ; on groupe
+r42254 | arno* | Bug des filtres MSIE quand on transforme les codes couleur.
+r42398 | cedric | Racourcir les couleurs sans casser filter(...) et accelerer la regexp sur les declarations vides en l'accrochant sur \s
+r42593 | cedric | spritons ces 29 icones pour eviter de multiples hit. C'est surtout genant sur les pages publiques qui contiennent un forum (meme si cela ne concerne alors que 6 icones) (avec le sprite, donc)
+r42674 | kent1 | charger_filtre pour trouver le filtre generer_info_entite permettant en 2.1 d'aller le chercher dans spip_bonux plutot que le coreOn nécessite spip-bonux pour la version 2.1
+r42787 | cedric | ne pas perdre la transparence avec le filtre |image_renforcement
+
+
+
+2.1.0 -> 2.1.1
+
+r15605 | romy | Ces parentheses residuelles dans les boutons d'admin etaient vraiment trop bizarres.
+r15607 | cedric | switcher sur les extensions du tag
+r15609 | cedric | Ne pas supprimer les espaces insecables (forums), et ne pas toucher au texte quand aucun mot n'est plus long que la limite
+r15610 | cedric | sql_error() doit renvoyer une chaine vide quand il n'y a pas d'erreur ! corrige une erreur dans [14529] qui a de plus le mauvais gout de ne pas avoir ete portee sur postgre et sqlite
+r15612 | arno | Cache etait fixe a 0.
+r15613 | cedric | report de [15578]
+r15614 | cedric | report de [15579]
+r15615 | kent1 | Les autorisations etaient manquantes
+r15617 | cedric | ne pas ignorer $option='continue' dans sql_getfetsel (commito et azerty)
+r15618 | fil | remettre un peu de display sur les elements du debug
+r15620 | cedric | le correctif de [15401] etait incorrect car en cas d'url arbo ajouter spip.php est faux. On ajoute simplement une ancre.
+r15624 | esj | La fonctionnalite [14862] de base/upgrade aurait da tre incluse dans SPIP 2.1.0, mais a ete oubliee. Je la remets, autrement dit je copie ce fichier de la 2.2 vers la 2.1 moins [14627] mais j'ai l'impression que la aussi c'etait qqch de prt et d'oublie. Toujours autour du fichier base/upgrade, [14730] n'avait pas applique le mme correctif sur la 2.2 que sur les autres, je resyncrhonise.
+r15625 | rasta | Un espace avant l'URL pour que les mauvais logiciels de mail la reconnaissent comme lien
+r15627 | fil | http://trac.rezo.net/trac/spip/changeset/15329/branches/spip-2.1/ecrire/inc/filtres.php introduisait des espaces en trop, et http://trac.rezo.net/trac/spip/changeset/15535 les perennisait
+r15628 | esj | Eviter un offset indefini, d'ailleurs absent en 2.2
+r15629 | esj | Indefinis dans un log.
+r15630 | esj | Eviter un indefini systematique
+r15631 | fil | controler le statut afin d'eviter de reproposer un article deja publie (#1932)
+r15635 | kent1 | Ce n'est pas parce que l'on ne dispose pas de la fonction "imagerotate" (qui n'est disponible que si PHP est compile avec la version embarquee de la bibliotheque GD => http://www.php.net/manual/fr/function.imagerotate.php) que l'on ne peut tourner les images ...
+r15636 | esj | En gerant plus soigneusement l'acces aux bases externes dans un SPIP mutualise, [14265] avait laisse passer la base courante comme base externe possible alors qu'il etait bien prevu de ne pas proposer cette idiotie.
+r15637 | esj | Du code mort depuis [15121] qui provoquait une bardee d'indefinis inutilement alarmants.
+r15638 | esj | Une base SQL homonyme au login SQL n'etait plus pre-selectionnee a l'installation. Et retrait de qq indefinis.
+r15639 | esj | La liste des bases disponibles en PG avait saute lors de la revision generale des erreurs SQL de [14543].
+r15640 | eric | Ajout d'un 5eme argument title dans la balise #BOUTON_ACTION pour afficher des bulles sur les liens.
+r15641 | eric | Oups un debug non supprime
+r15642 | esj | La chaane {{{base_reconnue}}} n'etait pas reconnue car c'est en fait {{{install_base_ok}}} (pas bazooka hein).
+r15643 | esj | Deux bugs pour le prix d'un: la liste des tables d'une base se fait systematiquement sur le serveur principal, les bases externes sur un 2e serveur n'etaient jamais decrites. Ce code etait de plus inutilement duplique.
+r15645 | esj | Mme pas capable d'envoyer le mme correctif dans les 2 branches ([15639])
+r15646 | esj | Suite de [15643]: trois bugs pour le prix d'un.
+r15647 | esj | Quatre bugs pour le prix d'un, je vais me coucher.
+r15648 | esj | La detection automatique de tables externes en PG ne marchait plus.
+r15649 | salvatore | langues (spip)
+r15650 | salvatore | langues (ecrire)
+r15651 | esj | Indefinis desagreables.
+r15652 | esj | Indefinis
+r15653 | esj | Code mort, et d'ailleurs inexecutable. A noter que la 2.2 semble en retard par rapport a ca.
+r15654 | esj | Un saut de ligne en plus de {{{ }}} sinon la copie d'une requte SQL dans le debusqueur acolle les mots cles.
+r15655 | cedric | pipeline post_insertion, permet aux plugins de rattacher des objets aux en attente au moment de la creation en base de l'objet principal+ correction sur le pipeline pre_insertion pour spip_auteurs
+r15660 | cedric | [15562] avait remplace a tort addcslashes(..,"'\\") par addslashes avant de le generaliserResultat, impossible d'avoir un " dans un mot de passe sql (thomas)
+r15662 | cedric | lorsque l'id retourne est nul, c'est aussi une erreur
+r15664 | denisb | on integre width et height dans le tag img des puces.
+r15667 | esj | Pour appliquer le validateur XML en boucle sur un repertoire de plugin, il faut faire {{{basename}}} dessus avant d'appeler {{{charger_fonction}}}. Mais avant SPIP savait que le script {{{export_all}}} ne devait pas tre soumis a la validation, il y a qqch de change qq part.
+r15669 | fil | en cas de connexion sql morte, un vieux cache exploitable doit passer par gunzip (experience vecue)
+r15671 | fil | a cause de l'intransigeance du compilateur sur la casse, les stats en CSV etaient cassees
+r15672 | esj | Table des metas et procedure de mise a jour: generalisation. La fonctionnalite [14862] introduite en retard dans SPIP 2.1 par [15624] permettant aux plugins d'utiliser la fonction {{{maj_while}}} pour leur propre mise a jour avait deux lacunes. La premiere etait d'arrter tout le processus en cas de probleme, alors que pour un plugin c'est un blocage rarement legitime. La fonction {{{maj_while}}} retourne donc a present un resultat (vide si ok, infos si echec), et c'est l'appelant qui decide d'arrter les frais ou pas. Teste sur une grosse mise a jour 1.9.2 -> 2.1.0dev sans pb apparent. L'autre lacune concernait une confusion possible sur la meta a utiliser pour assurer la reprise sur interruption. C'etait assez theorique, mais de fil en aiguille, on se retrouve avec une fonctionnalite encore plus generale: les fonctions {{{ecrire_meta effacer_meta lire_metas inc_meta_dist}}} s'appliquent sur eventuellement d'autres tables que spip_meta, en gerant un cache pour chacune. Cette fonctionnalite permet en particulier a chaque plugin d'avoir sa table des meta, ce qui facilite la sauvegarde de tout ce qui le concerne, et fournit un acces a priori bien plus rapide que l'avalanche d'objets et de tableaux que CFG alloue a chaque appel de lire_config.
+r15673 | esj | Generalisation des tables des meta: prendre l'alea ephemere de la table des metas standard en toute circonstance.
+r15674 | fil | ajout du type='mime/type' sur le raccourci {{{ [->doc1] }}}
+r15675 | esj | Metas multi-tables, suite de [15762]: le numero de version de l'ensemble des tables SQL du plugin n'a pas non plus a priori a tre dans la table generale des meta. En consequence, on repere maintenant dans {{{plugin.xml}}} un element optionnel {{{meta}}} qui indique la table des meta specifique du plugin. Cette information est utilisee par {{{spip_plugin_install}}} qui appelle les fonctions {{{upgrade}}} et {{{vider_tables}}} specifique du plugin en leur transmettant cette information, et qui en tient compte pour trouver le dit numero de version et le comparer a celui figurant dans {{{plugin.xml}}}. La meta ayant pour valeur ce numero est {{{version_base}}} si la table est specifique, et {{{$PLUGIN_version_base}}} sinon, comme auparavant.
+r15676 | kent1 | Restauration correcte des types mime des fichiers Ogg sur les branches 2.1 et 2.2 (http://trac.rezo.net/trac/spip/ticket/1941). Ajout des types de fichiers : f4a/f4b/f4p/f4v/mpc (http://en.wikipedia.org/wiki/Flv#File_formats) sur les branches 2.1 et 2.2. Report du commit oublie : 14272 (http://trac.rezo.net/trac/spip/changeset/14272) sur la branche 2.2. Upgrade de la base en version 15676 sur les branches 2.1 et 2.2. Rend homogene (cosmetique) les espaces dans les arrays des documents
+r15677 | kent1 | un alt vide sur les icones des plugins pour la validite xhtml (branches 2.1 et 2.2)
+r15678 | esj | Il est contre-intuitif que la balise {{{#PLUGIN{nom, info}}} ne marche que pour 4 valeurs de {{{info}} et pas pour toutes celles calculees par {{{plugin_get_infos}}}. Ni les unes ni les autres ne sont d'ailleurs documentees.
+r15679 | cedric | traiter les src de progid:DXImageTransform.Microsoft.AlphaImageLoader(src=...) lors du passage en url absolue dans les css
+r15680 | esj | Donner a afficher_plugin un argument optionnel supplementaire, permettant de remplacer CFG par un autre outil de configuration.
+r15681 | esj | Oups
+r15682 | esj | Autre solution que [15680] a l'abstraction de l'appel a CFG: appeler celui-ci en lui donnant un autre script de configuration que lui-mme (cf [http://zone.spip.org/trac/spip-zone/changeset/38187 SPIP-Zone 28187]), trouve sous la balise {{{config}}} de {{{plugin.xml}}}. Ca permet une transition en douceur vers l'abandon du traitement des metas du plugin dans CFG sans renoncer au reste, du moins dans un premier temps.
+r15683 | esj | Fin de l'abstraction de l'appel a CFG: la balise {{{config}}} de {{{plugin.xml}}} donne finalement une fonction retournant un groupe de liens (un seul en general) qui renvoie sur les scripts d'installation. Cette fonction doit tre presente dans les fichiers indiques par la balise {{{install}}}. Par defaut cette fonction est celle chargeant CFG et utilise {{{icone_lien_cfg}}}.
+r15684 | esj | Manque un >. Resoud #1942.
+r15685 | esj | En eliminant {{{intval}}} pour laisser passer les grands entiers connus de SQL mais de PHP, [13858] avait fait saute ce qui permettait au validateur en boucle d'inferer quels arguments d'un squelette sont numeriques. Il faut detecter a present {{{sql_quote(... 'int')}}}.
+r15691 | rasta | Compatibilite avec PHP 5.3 : celui-ci definit une nouvelle constante E_DEPRECATED pour la gestion des erreurs et notices. Du coup quand les gens mettent a jour vers la 5.3 ils voient apparaitre des erreurs qui n'etaient pas visibles avant. C'est bien sar toujours modifiable mais par defaut SPIP ne doit afficher que les vraies erreurs. On retablit donc ce comportement.
+r15696 | davux | Report de [15694] et [15695] C'est comme ca qu'on dit ?
+r15697 | fil | mode TEST: des define() judicieux permettent d'invalider microblog et envois d'email ; exemple :
+r15698 | fil | gros bug sur la gestion du {{{ header('HTTP/1.1 404 Not Found'); }}} ; le systeme renvoyant une chaine contenant du php...
+r15700 | cedric | [15683] avait casse la desinstallation
+r15702 | fil | meilleur controle des forums en eliminant une erreur SQL (en cas de recherche a zero resultat), en permettant la recherche par IP, et en affichant les link meme s'ils ont un {{{[style=position:relative left:-999px]}}} (a reporter dans le plugin ?)
+r15703 | cedric | is_numeric plutot que is_int
+r15704 | salvatore | langues (spip)
+r15705 | salvatore | langues (ecrire)
+r15706 | salvatore | langues (public)
+r15707 | marcimat | Lors d'une utilisation dans l'espace public, l'appel de la fonction autoriser() n'est pas connu ici etrangement.
+r15708 | marcimat | evidemment ca ne reagit pas pareil entre administrateur et redacteur... il y avait une autre autorisation appelee dessous, remontons l'appel a inc/autoriser de quelques lignes...
+r15709 | marcimat | Il faudra peut tre penser a mettre autoriser() dans inc/utils... ca devient aberrant des qu'on utilise les formulaires dans l'espace public.
+r15710 | bruno | fermer #1943 : ne pas choper les input dont le name est identique a l'id recherche
+r15711 | cedric | sortir la depublication conditionnelle d'une rubrique dans une fonction depublier_rubrique_if() utilisee par la fonction de depublication d'une branche. Permet a un plugin qui modifie l'arborescence des rubriques de reutiliser cette fonction
+r15712 | cedric | lorsqu'on institue un article, passer statut_ancien dans les pipeline, car les plugins ne peuvent pas le connaitre, sauf a faire une acrobatie bien compliquee ...
+r15713 | bruno | de quoi brancher le plugin notifications sur les inscriptions
+r15717 | esj | [14199] etait incomplet. On renonce provisoirement a avoir une solution propre pour cette erreur de conception quant aux separateurs apres une balise.
+r15718 | esj | En mode debug, forcer le Content-Type a HTML, ce que faisait implicitement les anciennes versions. Et ne pas non plus faire l'echo final.
+r15720 | esj | Prise en compte des fausses balises comme dans les versions precedente de SPIP, pour le meilleur et pour le pire.
+r15721 | cedric | complement a [15683] :ne pas echouer en erreur fatale si la fonction indiquee dans n'existe pas, et permettre d'indiquer dans le nom d'un exec du plugin, qu'on verifie par le presence du script php dans exec/ ou du squelette html dans prive/exec/
+r15723 | esj | Configuration des plugin, suite et (semble-t-il) fin. La page des plugins actifs est construite a present a l'aide d'un mini-squelette {{{prive/cfg.html}}} qui auparavant se reduisait a des balises A en dur dans le code referencant le plugin Cfg. C'est donc maintenant un vrai squelette, utilisant la balise {{{#URL_ECRIRE{configurer_}}}nom-du-plugin{{{{}}}. Il suffit donc d'avoir un script PHP ainsi nomme dans {{{exec/}}}, ou un squelette ainsi nomme dans {{{prive/exec}}}, pour qu'apparaisse dans le bloc du plugin l'icone de configuration avec un lien sur le configurateur.Si l'on souhaite donner un autre squelette (pour changer l'icone, inclure en Ajax le configurateur etc), il faut l'ecrire dans le repertoire du plugin et indiquer son nom dans la balise {{{config}}} de {{{plugin.xml}}}.La compatibilite avec Cfg est assuree: si {{{plugin.xml}}} demande d'utiliserCfg et ne contient pas la nouvelle balise {{{config}}}, c'est le mme codequ'auparavant qui est pris. Au passage, la balise {{{#URL_ECRIRE}}} est amelioree: si son argument lui ferait produire une URL inconnue elle ne retourne rien, ce qui permet des ecritures comme {{{[cliquer ici ]}}} qui auparavant etaient vaines.
+r15724 | bruno | reparer les liens de config pour les plugins qui utilisent CFG
+r15725 | esj | La balise {{{URL_ECRIRE}}} a l'origine etait applicable mme dans une boucle sur serveur distant. C'est par une intervention trop systematique sur les balises {{{URL_*}}} que ce test a ete introduit par [10136], test retire ensuite par [10138] car une solution avait ete trouve au probleme, sauf pour {{{URL_ECRIRE}}} qui en fait n'avait pas le probleme car cette balise reference par definition le serveur courant. Il est largement temps de supprimer ce test, puisque [15723] a revele incidemment que ce test gnait des plugins aui du coup avait besoin de la surcharger.
+r15728 | esj | Bien gerer le cas de la balise #URL_ECRIRE sans argument (Kent1).
+r15730 | kent1 | On invalide le cache egalement dans le cas oa l'on change la configuration des visiteurs (utile pour de nombreux plugins utilisant cette valeur)
+r15732 | kent1 | Pourquoi un simple ici alors que les autres elements ensuite sont ...
+r15734 | cedric | il faut inclure les fichiers fonctions quand on utilise la matrice
+r15735 | esj | Si le premier argument de {{{spip_connect}}} n'est pas une chaane (normalement c'est le nom d'un fichier de connexion) assimiler systematiquement cette situation a "''". Non seulement ca evite des erreurs PHP, mais ca permet a {{{calculer_url}}} d'tre appelee avec True comme dernier argument pour forcer un calcul d'URL dans l'espace public.
+r15736 | salvatore | langues (spip)
+r15740 | cedric | include, effacer la meta crash plugin, et loger le cas ou l'on reconstruit la meta plugin supposement issue d'une vieille version, mais qui pourrait causer un bug !
+r15741 | esj | La reference a la classe {{{spip-large}}} dans le bouton de previsualisation ne fonctionnait pas faute de charger la feuille de styles qui la contenait. On introduit une classe {{{spip-previsu}}}, ce qui permet de le faire disparaatre a l'impression et d'alleger un peu le script incontournable {{{public.php}}}.
+r15742 | cedric | #1940 : reparer le w dans Opera. Verifie sur Mac dans Opera, FF et Safari. Devrait aussi reparer le bug dans IEx, a confirmer avant fermeture du ticket
+r15743 | cedric | #1939 : ne pas submit plusieurs fois un meme formulaire, meme si le redacteur tape ctrl+s frenetiquement
+r15744 | esj | Depuis que [14446] a regoupe tout le code concernant les criteres par partie a la fin de la production du code compile, le test examinant au depart si un corps de boucle est totalement vide etait devenu faux. Resoud #1931.
+r15745 | denisb | la balise INTRODUCTION prend en compte le DESCRIPTIF aussi pour les rubriques (clt #1947)
+r15748 | cedric | ne pas vider l'adresse du site lors d'une install ! ...
+r15749 | cedric | #1945 : les accents et caracteres utf etaient pris en compte differemment dans le calcul du sha256 cote js et cote php. On uniformise l'algo, les caracteres sont tous pris en comptes en 16bits, et les deux implementations sont equivalentes sur les chaines non ascii pure
+r15750 | cedric | on annule [15749] le temps de trouver un chemin de migration qui ne casse pas les passes
+r15751 | cedric | [15749] en mieux : si tous les caracteres de la chaine sont en ascii purs, on calcule le sha sur des caracteres sur 1 octet, sinon on les passe sur 2 octets. Ainsi le sha256 des chaines sans utf sont inchanges, ce qui ne casse pas les hash deja dans la base. Les mots de passe avec accents sont donc acceptes maintenant (y compris avec alphabet chinois ou autre)
+r15753 | esj | Decoupage en deux de la grosse fonction {{{balise_formulaire__dyn}}} afin de pouvoir definir une balise dynamique qui ne s'en distingue que par le calcul du nom du squelette.Au passage, report dans la branche Dev de [15620] fait seulement sur la 2.1, pour corrigeait le mauvais correctif [15401].
+r15754 | kent1 | Avoir un titre d'email propre (pas de multis ni de balises) dans le mail
+r15759 | esj | Introduction de {{{#FORMULAIRE_CONFIGURER_PLUGIN}}}, suite du chantier visant a remplacer CFG (cf [15726] et [15753]).Cette balise admet au moins un argument, savoir le nom du plugin (donc le nom du sous-repertoire de DIR_PLUGINS) qu'il faut configurer. Ce repertoire doit contenir un sous-repertoire nomme {{{formulaires}}} contenant au moins un squelette. Le nom de celui-ci est donne soit par le 2e argument de la balise s'il est present, soit est pris conventionnelle egal a {{{configurer_}}}{{prefixe_du_plugin}}}. Le contexte (calcule par une fonction {{{_charger}}}) est egal a la table des metas associee a ce plugins. Le traitement des saisies (fonction {{{_traiter}}}) consiste a ecrire dans cette table des metas les valeurs (chaane vide si abstentes) que {{{$_POST}}} indique pour tous les noms trouves dans le formulaire, a l'aide d'une RegExp (pas totalement fiable) reperant les attributs {{{name}}} dans le formulaire. Ces deux fonctions sont donc communes a tous les formulaires de configuration de tous les plugins voulant les utiliser. Il n'y a pas de fonction {{{_verifier}}}, faute de savoir que verifier pour chacun (interface a definir pour arranger ca). Pour fonctionner correctement, les formulaires references (implicitement ou non) par cette balise doivent utiliser {{{#ACTION_FORMULAIRE}}} avec comme deuxieme argument le nom du plugin. Voir un exemple dans le [http://zone.spip.org/trac/spip-zone/changeset/38755 plugin Association 2].
+r15760 | esj | Complement a {{{#FORMULAIRE_CONFIGURER_PLUGIN}}}, qui maintenant sait retrouver la fonction {{{_verifier}}} propre a un squelette (cf [15759] [15726] et [15753]). Je reexpose le tout vu les incomprehensions que ca a amene sur spip-dev. Cette balise admet deux arguments, un nom du plugin (autrement dit le nom d'un sous-repertoire de DIR_PLUGINS) et un nom de squelette dans le sous-repertoire {{{formulaires}}} de ce plugin. Si ce deuxieme argument est absent, il est pris conventionnellement egal a {{{configurer_}}}''prefixe_du_plugin''. Le contexte de ce squelette est egal a la table des metas associee a ce plugin le nom de cette table etant calcule par la fonction {{{formulaires_configurer_plugin_charger_dist}}}.Le traitement des saisies consiste a ecrire dans cette table des metas les valeurs (chaane vide si abstentes) que {{{$_POST}}} indique pour tous les noms trouves dans le formulaire, a l'aide d'une RegExp (pas totalement fiable) reperant les attributs {{{name}}} dans le formulaire. Ce traitement est assure par la fonction {{{formulaires_configurer_plugin_traiter_dist}}}.Pour la verification, la fonction {{{formulaires_configurer_plugin_traiter_dist}}} delegue le travail a la fonction {{{formulaires}}}''_nom_du_squelette''{{{_verifier}}} si elle existe, et sinon ne fait rien. Ces trois fonctions sont donc communes a tous les formulaires de configuration de tous les plugins voulant les utiliser, ainsi que leurs fonctions auxilaires (nomenclatures des saisies notamment). Elles peuvent evidemment tre surchargees. Pour fonctionner correctement, les formulaires references (implicitement ou non) par cette balise doivent utiliser {{{#ACTION_FORMULAIRE}}} avec comme deuxieme argument {{{configurer_plugin}}}, afin que le trio de fonctions ci-dessus decrit soit effectivement utilise. Voir un exemple dans le [http://zone.spip.org/trac/spip-zone/changeset/38755 plugin Association 2].
+r15763 | cedric | la previsu est une fonction d'admin, il faut l'y styler car spip_styles.css n'est pas forcement presente + un font-size inherit sur les textarea
+r15764 | denisb | [15357] etait une bien mauvaise idee. sql_updateq ne retourne jamais false mme si aucun update n'est effectue. il faut donc tester aussi sur la non pre-existence du lien pour que le insert soit lance (kent1)
+r15767 | kent1 | Changer le statut lors dans la session lors du premier login d'un utilisateur
+r15769 | kent1 | Ajout de 3 occurences du pipeline post_edition autour de la gestion des documents dont l'argument "operation" est different : - "lier_document" : lors de la ligature d'un document a un objet spip (inc/modifier) - "delier_document" : lors de la suppression de cette ligature (action/documenter)- "supprimer_document" : lors de la suppression definitive de ce document (action/supprimer_document)
+r15770 | kent1 | un petit oups ... Inclusion de inc/autoriser dans l'action supprimer_document
+r15771 | esj | #FORMULAIRE_CONFIGURER_PLUGIN: ne pas mettre le chemin en dur, c'est une baisse de fonctionnalites (suite de [15760]).
+r15773 | kent1 | Pouvoir surcharger la fonction vignette_par_defaut() de inc/documents. Elle devient inc_vignette_dit() dans inc/vignette et on appelle charger_fonction pour la charger.
+r15778 | cedric | eviter d'attendre 10s a chaque enregistrement de revision pour cause d'imprecision de SQL (equipement)
+r15779 | esj | Balise de configuration suite et fin pour les 2 branches (Dev et 2.1): * Identification dans les deux branches de la compilation de #ACTION_FORMULAIRE. L'erreur d'argument manquant n'etait pas traitee; vu l'usage quasi general, cette absence est assimilee a un premier argument egal a {{{#ENV{action}}}} ce qui allege l'ecriture. * renommage dans la branche Dev de la balise de #FORMULAIRE_CONFIGURER_PLUGIN en #REMPLIR, ce qui evite d'y voir des problemes qui n'en sont pas et permet d'experimenter. * retrait dans la branche 2.1 de ces 4K de code concernant cette balise afin de sortir une 2.1.1; il suffira de copier les deux fichiers {{{ecrire/balise/remplir.php}}} et {{{prive/formulaires/remplir.php}}} de la branche Dev dans une installation de la 2.1.1 pour experimenter dans cette branche.
+r15780 | esj | Complement a l'harmonisation des deux branches pour la reutilisation de code CVT par [15779]: il manquait le fichier {{{formulaire.php}}}. Je remets la version std de {{{existe_formulaire}}} pour eviter toute difference entre la 2.1.0 et la 2.1.1 {{{#REMPLIR}}} peut faire sans. Et une scorie.
+r15785 | cedric | reparer form_hidden dans les urls html (bug dans la fonction urls_html_dist) et dans les urls standard (en delegant a urls pages quand on a affaire a d'anciennes urls)
+r15789 | esj | Pourquoi la page privee des petitions n'avait pas ses styles specifiques comme la plupart des exec ? C'est impossible a styler, surtout a l'impression! Ce n'est pas Bruno qui me contredira: je reprends ses noms de classes dans sa [http://zone.spip.org/trac/spip-zone/browser/_core_/plugins/petitions mise en plugin des petitions], pour autant que les differences de HTML le permettent. Et comme cette page n'avait pas bouge entre 2.0 et la 2.1. J'en fais aussi profiter la 2.0.11.
+r15790 | fil | Correction d'un bug CVT. Voici le scenario ; je travaille dans une page /sub/toto, j'y mets un CVT. Premier POST, l'action vaut "/sub/toto", ca marche.Supposons que j'ai une erreur dans ce premier POST. Le formulaire me revient, et la j'ai action="toto" ; ca marche aussi me direz-vous. SAUF si j'ai un {{{ }}} dans la page. A ce moment-la en effet ca. POST sur /toto, et c'est mort.
+r15792 | davux | Report de [15791]
+r15793 | esj | Page privee des signatures, complement a [15789]: un bout de navigation apparaissait encore a l'impression.
+r15796 | davux | Report de [15795]
+r15798 | davux | Report de [15797]
+r15804 | cedric | hum, la demande d'autorisation etait erronee, meme les admins devaient valider leur email par un clic dans leur boite mail lorsqu'ils changaient leur adresse, ce qui n'est pas normal. On corrige ca !
+r15805 | cedric | il ne faut pas echapper message_ok et message_erreur provenant de chager()
+r15806 | cedric | [15780] contenait des bugs sur la prise en compte de editable, formulaire_ok et formulaire_erreur, en sus de celle deja corrigee par [15805] On tente de retablir la prise en compte correcte depuis charger(), verifier() et traiter(), sans revert le code
+r15809 | cedric | [15806] ne corrigeait pas tout : si editable est fourni par charger(), il faut passer de true/false a espace/rien (kent1)
+r15810 | fil | en attendant que les discussions aboutissent, ne pas laisser de bug bloquant [15795]
+r15812 | davux | Report de [15811]
+r15814 | davux | Report de [15813]
+r15815 | denisb | supprimer l'eventuel index que l'on trouve parfois sur de vieilles spip_meta modifiees. peu importe d'oa ca provient, c'est suffisamment bloquant pour devoir tre pris en compte. ferme le ticket #1937
+r15816 | cedric | pas de valeur par defaut sur les passage par reference, sinon cela casse la compat PHP4 (gilles, denisb)
+r15817 | cedric | le cache chemin qui persiste alors qu'on fait var_mode=recalcul est qu'on est loge, c'est perturbant. Tout ca parce que le cookie admin est perime. On blinde donc ce cas la, sans impact perfo significatif pour le tout venant (un test sur _request et un test d'egalite de chaine)
+r15818 | bruno | eviter les doublons dans le pipeline jquery_plugins
+r15820 | salvatore | langues (spip)
+r15821 | salvatore | langues (ecrire)
+r15822 | salvatore | langues (public)
+r15823 | esj | Tenir commpte du destinataire donne immediatement dans la messagerie interne, et respecter la syntaxe de PostGres pour les nombres. Corrige #1808.
+r15824 | cedric | mimer json_encode en passant le test unitaire introduit par http://zone.spip.org/trac/spip-zone/changeset/39230
+r15825 | fil | en fait on redefinit json_encode()
+r15826 | esj | Mauvais contrle des droits sur le logo d'un mot-cle, bug remontant a la grosse reorganisation de la 2.0 la -dessus [10900] (Stephane Girault).
+r15827 | kent1 | Ajout du nouveau container webm pour les contenus video et audio cf : http://fr.wikipedia.org/wiki/WebM http://www.webmproject.org/
+r15828 | salvatore | langues (spip)
+r15829 | salvatore | langues (ecrire)
+r15830 | cedric | eviter une boucle infinie a la mise a jour des plugins
+r15831 | esj | Reverifier les droits lors de la destruction d'un mot cle (Stephane Girault). Et en profiter pour afficher le titre du groupe a partir de la table des groupes (on vient de la lire) plutt que le champ type de la table des mots, qui n'est pas compatible avec l'arabe.
+r15832 | davux | Correction d'URL propre pour les objets ayant un titre court. Commit identique au dernier commit sur l'extension "URL etendues" sur la zone: http://zone.spip.org/trac/spip-zone/changeset/39270
+r15834 | esj | Le rle du champ default_order semble avoir ete qq peu perverti. Ce depot corrige le cas du critere {{{inverse}}} intervenant apres le critere {{{IN}}}, ca me reste un peu obscur mais au moins ca corrige ce cas. Je laisse intacte la 2.0 pour servir de reference.
+r15835 | cedric | resoudre la perte de contexte sur des urls propres ou arbo de la forme article32. On revient sur [15832] qui ne faisait que masquer le bug et changeait des urls existantes
+r15837 | cedric | _url_propres_sep_id pour definir le separateur
+r15839 | denisb | faire en sorte que, comme en 2.0, pour un document sans vignette specifique, LOGO_DOCUMENT** tout comme LOGO_DOCUMENT|fichier retourne le bon chemin vers prive/vignettes/ (sans ajout d'un IMG/ malvenu).
+r15840 | cedric | corriger direction_css pour qu'elle fonctionne sur les css en squelette (report de [15783])
+r15841 | cedric | charger_filtre() pour charger et chercher un filtre depuis le php
+r15842 | cedric | #PLUGIN{xxx,tout} permet de recuperer toutes les infos du plugin (eric)
+r15843 | cedric | [14453] avait casse la pagination indirecte lorsque le pas etait non connu a la compilation...
+r15844 | denisb | #LOGO_ : on s'aligne sur le traitement de #LOGO_DOCUMENT comme preconise par [13550], a savoir #LOGO_RUBRIQUE{200, 0} est equivalent a [(#LOGO_RUBRIQUE|image_reduire{200, 0})].clt le ticket #1930.
+r15847 | esj | Afficher la page en cas d'erreur, mais en essayant d'eviter que la feuille de style du debusqueur rentre en conflit avec celles de la page.
+r15848 | cedric | appels a notification sur instituerbreve et instituersite ne fait rien dans le core, mais permet l'utilisation de l'appel dans un plugin
+r15849 | fil | securite du js informer_auteur (credit: Dotsafe)
+r15851 | fil | gerer les caches sessionnes a plat et non dans un sous-repertoire ; la consequence est que pour chaque cache sessionne, on a deux fichiers : un (chemin_cache) qui indique qu'il est sessionne, l'autre (chemin_cache+_+session) qui contient la page elle-meme
+r15852 | fil | se baser sur lastmodified plutot que sur filemtime
+r15853 | cedric | consecutivement a [15851] il n'y a plus de sous repertoire de session. On laisse la purge recursive a true pour faire le menage, mais cela ne doit plus impacter le fonctionnement (plus d'erreur d'ecriture dans un sous rep inexistant)
+r15854 | cedric | en attendant d'avoir une architecture propre qui soit pratique en cas de bug,contentons nous d'une version pratique utilisable pour cette 2.1.1 avec sortie successive de la page calculee et des erreurs en superposition
+r15855 | esj | Complement a [15849]: securiser un peu plus en amont pour eviter Warning et requtes SQL toujours vides.
+r15856 | fil | supprimer le controle de date sur les articles tres vieux (mathieu lopes) ; les articles marques dans le futur ne doivent toujours pas avoir plus de 48 heures d'avance, sinon un bug quelconque les fait passer devant ad vitam
+r15857 | salvatore | langues (spip)
+r15858 | salvatore | langues (ecrire)
+r15859 | cedric | se placer sur les extensions de la branche 2.1
+r15860 | cedric | permettre de reset toutes les notes a zero. Ne doit etre utilise qu'en contexte de test.
+
+field spip_forum.ip compatible ipV6 (40 caracteres #1953)
+
+-----------------------------
+
+
+2.0.10 -> 2.1.0
+Trop de changements pour etre listes ici ... on reprendra pour la 2.1.1
+voir http://www.spip.net/fr_article4728.html
+
+2.0.9 -> 2.0.10
+Revision: 14695 report de [14694]
+Revision: 14690 remplacement de la fonction ereg (obsolète à partir de php 5.3.0).
+Revision: 14680 correction inserer_attribut : support des tags fermés sans espace avant />
+Revision: 14678 Correction: les constantes {{{_INSTALL_USER_LDAP}}} et {{{_INSTALL_PASS_LDAP}}} n'étaient jamais pris en compte à l'installation, et les messages signalant que l'étape courante a été franchie avec succès n'apparaissaient pas. Plus un Log oublié et un meilleur contrôle d'erreur.
+Revision: 14677 eviter les cookie enregistrant des forums vides, report de http://zone.spip.org/trac/spip-zone/changeset/32429
+Revision: 14676 [14673] avait introduit l'impossibilite de postdater avant publication, on retablit
+Revision: 14673 utiliser les api pour que les plugins puissent faire leur travail
+Revision: 14671 Heureusement que les utilisateurs de PHP complètent sa doc: la connexion LDAP cryptée sur un autre port que le 389 ne doit pas utiliser la fonction {{{ldap_start_tls}}}, mais utiliser l'écriture {{{ldaps://}}}{{serveur}}} comme premier argument de {{{ldap_connect}}}.
+Revision: 14670 Les bases externes ne pouvaient plus être déclarées car le paramètre {{{install}}} dans l'URL ne veut plus forcément dire qu'on est en train d'installer SPIP depuis le début depuis que ces déclarations de bases externes ne sont plus faites à l'installation initiale. Il faudrait terminer plus proprement la migration de ces scripts (Christian).
+Revision: 14669 eviter de faire des sql_delete a tout va sur un calcul de page (pour une meta qui ne sert a rien qui plus est)
+Revision: 14668 report de [14666]
+Revision: 14663 report partiel mais suffisant de [14659]
+Revision: 14660 les messages d'erreur avant les input
+Revision: 14647 et les notes n'etaient pas echappees
+Revision: 14646 boucle infernale sur forum.spip.org, ou un article peut avoir qqs dizaines de milliers de forums ;-)
+Revision: 14645 La suppression de vignette de document ne marchait pas dans ce cas là : action pas comprise car avait un /$id_document en trop qui ne sert pas dans l'action
+Revision: 14640 Ce spip_log n'a plus de raison d'être il me semble
+Revision: 14635 reparer
+Revision: 14628 utiliser redbot.org comme interface de test des entetes : merci @karlpro
+Revision: 14626 permettre a un SSO de revenir sur le login avec un message d'erreur dans var_erreur
+Revision: 14622 La possibilité de surcharge des attributs à demander à LDAP, introduite par [14608], n'a pas de raison de se limiter à ce qui concerne la champ {{{login}}}, il faut pouvoir indiquer tous les champs à lui demander. Tant qu'à faire, on écrit un code prêt à recevoir cette indication via la déclaration faite à l'installation, mais pour l'instant ça ne sert pas encore, c'est toujours la globale qui est utilisée. Je reporte en stable pour que la globale introduite précédemment pour aider à résoudre [http://comments.gmane.org/gmane.comp.web.spip.user/149473 ce problème sur la liste spip-user] n'y perdure pas plus.
+Revision: 14614 Ok ([14605] et [14610]), pour chercher un mot dans plusieurs groupes, mais autant utiliser l'interface SPIP-SQL à fond, du moment qu'on sécurise en amont, sécurisation qui révèle une drôle de chose: si le mot est créé, c'est forcément dans le premier groupe donné. C'est bien l'intention ?
+Revision: 14612 gestion de la redirection lorsqu'on arrive sur le formulaire de login deja loge (ie retour d'une identification SSO) deleguer a traiter() le soin de calculer la redirection et appliquer eventuellement
+Revision: 14608 Plutôt que de dupliquer une fonction ([14601]), généraliser une fonction existante pour éviter que les éventuelles surcharges ne voient plus rien passer. Je profite de cette occasion d'intervention sur l'authentification LDAP pour passer en globale le tableau des noms des attributs potentiellement porteurs du login afin de répondre à [http://comments.gmane.org/gmane.comp.web.spip.user/149473 ce message de la liste spip-user], et reporte en stable pour qu'ils puissent résoudre leur problème. Mais revoir le formulaire de déclaration du LDAP pour y indiquer les correspondances entre champs du LDAP et champs de la table auteurs sera à faire tôt ou tard.
+Revision: 14605 accepter plusieurs groupes possibles de recherche de mots-cles (avec les remerciements du selecteur generique)
+Revision: 14599 La clause GROUP BY pléthorique de cette requête avait été introduite manuellement par [9841] au début du portage PG, alors que depuis c'est fait automatiquement dans le fichier reg/pg.php. Retour au GROUP BY simple, beaucoup plus performant en MYSQL, et qui évite à Oracle de râler car on ne peut y faire de GROUP BY sur un BLOB. / J'en profite pour resyncrhoniser les 2 branches 2.0 et 2.1 sur ce fichier, différenciées superficiellement par [14576].
+Revision: 14592 le bidule d'ajax de config_fonctions provoquait une erreur 'config_fonctions n'existe pas'
+Revision: 14589 réparer la conversion des urls en urls absolues dans les fichiers css compactés.
+Revision: 14572 Correction: retour du login automatique en fin d'installation, flingué par l'introduction du répertoire {{{auth/}}} par [13435].
+Revision: 14567 Autre rel='nofollow' en complément de [14270] sur les calendriers.
+Revision: 14566 Première revision: [14487] avait remplacé une erreur SQL par une autre
+Revision: 14561 report de [14560]
+Revision: 14558 support des formatx open xml de cro$oft : renommer docx en doc n'etait pas satisfaisant car les vieilles version de word se plantaient dessus, et par ailleurs il manquait toutes les declinaisons et les mime type
+Revision: 14551 mise au carre des mots : il en manquait
+Revision: 14550 mise au carre des controles sur les mots-cles -- report (adapte pour la branche 2.0) de [14549]
+Revision: 14521 Erreurs SQL en multi-serveurs, suite: [14492] corrigeait dans la branche dev pendant que [14484] et [14489] corrigeaient dans la branche stable. Avec ça, la stable est bien corrigée pour MySQL et PG, mais dans la dev il y a de toutes façons le chantier en cours de l'abstraction des erreurs SQL, c'est encore incomplet.
+Revision: 14519 report de [14504]
+Revision: 14517 permettre la modification du choix d'apparaître dans la liste des connectés au seul concerné.
+Revision: 14508 ne pas divulguer le login et pass a la base de donnees aux non webmestre qui n'y ont a priori pas acces
+Revision: 14499 suite de [14495] concernant postgre
+Revision: 14498 eviter une erreur fatale pour cause de double inclusion de url/propres via qs ou propres2
+Revision: 14497 ajout d'un define pour indiquer à partir de quel nombre de mots-clefs on abandonne la sélection dans une liste au profit d'une recherche.
+Revision: 14495 complement a sql_delete : renvoyer le nombre de lignes affectees ou false en cas d'erreur.
+Revision: 14491 report de [14452] sur l'unzip des pages distantes, qu'on a vu planter aussi sur spip.net
+Revision: 14490 Correction de charger_fonction: ne pas ajouter de tiret si le dossier est vide, comme cela avait été fait pour la version de dev inopinément en [13645] (Rasta).
+Revision: 14489 Correction de la correction de [14484]: la globale décrivant la connexion n'est pas encore entièrement définie à l'étape 3 de l'installation.
+Revision: 14488 envoyer la date (de publication) avec le statut dans le pipeline notification lorsque l'on institue
+Revision: 14487 petite erreur sql dans le pipeline premiere_revision ; report de http://zone.spip.org/trac/spip-zone/changeset/31517
+Revision: 14484 bug dans l'API sql_* : le mysql_error() est en effet lie a la derniere connexion ouverte, il faut donc passer systematiquement la variable serveur si on veut pouvoir parler a deux connexions en meme temps (sinon, seule la derniere connexion ouverte parle) ; cf. http://php.net/mysql_error j'imagine qu'il va falloir etendre aux autres portages
+Revision: 14483 Profiter de la table PHP des titres aussi dans les URL arbos (Rastapapoulos).
+Revision: 14482 [14481] sans le commentaire !
+Revision: 14481 En attendant mieux ? on remet le find_in_path() sur connect/$serveur.php qui permet le hack des boucles POUR et consÅurs.
+Revision: 14479 Correction: lorsqu'une surcharge de l'installation comporte un appel à un serveur externe, SPIP redonnait le serveur principal.
+Revision: 14476 Correction de la pagination modifiée par [13993]#file0 car il fallait comprendre que l'index indéfini était volontaire, charge étant donnée au filtre de pagination de gérer cet indéfini. On évite de ballader cet indéfini en confiant cette gestion au code compilé, mais ça ne fait que cacher un peu mieux l'entorse signalée: pourquoi les modèles ne fournissent pas les paramètres d'URL si c'est cela qu'on veut ? Par ailleurs, amélioration de #ANCRE_PAGINATION, qui doit tenir compte d'une éventuelle surcharge de la balise #PAGINATION.
+Revision: 14471 choix des statuts pour le menu 'afficher les visiteurs' (#1802, paladin) ; a noter en branche dev le code n'a plus grand chose a voir
+Revision: 14470 suppression des repertoires .plat, report de [14041] et resoud #1819
+Revision: 14462 c'était bien une fausse bonne idée. retour à l'état antérieur.
+Revision: 14459 corrige l'affichage systématique (même si l'on n'est pas loggué) des parties conditionnelles de la balise [aff_cond (#URL_LOGOUT) aff_cond] (mais ça me semble plus une rustine qu'une réparation véritable...)
+Revision: 14451 suppression de flag_gz, remplace par une detection 'just in time' de la fonction , cf http://forum.spip.org/fr_216909.html pour la motivation
+Revision: 14445 Correction du filtre {{{form_hidden}}} qui injectait le contexte d'URL trop systématiquement (report de [14444]).
+Revision: 14442 Report de [14113] et de [13716] mais surtout de [13570] qui rend le #MENU_LANG propre pour le xhtml strict
+Revision: 14433 une erreur dans ce test qui n'ajoutait jamais les [] lorsque l'élément à passer était un array...
+Revision: 14413 Correction de l'appel à la version PostGres de listdbs.
+Revision: 14409 Correction de la conversion en un entier de l'argument de sql_quote dans le critère de comparaison: ce bug provoquait une tentative incompréhensible de se connecter à i, serveur nommé ''int'' (Aurélien).
+Revision: 14400 prevoir le cas ou minipres() est appele avant spip_initialisation_suite()
+Revision: 14399 Cas rare ou $liste=array() affichait Array (Thomas Sutton)
+Revision: 14394 [14393]Â en mieux.
+Revision: 14393 Lors de la publication d'un article sur une branche de rubriques mettre à jour toutes les dates de la branche.
+Revision: 14392 report de [14096] a la demande generale de rastapopoulos
+Revision: 14368 [14367] mais sans bug
+Revision: 14367 charger mes_fonctions avant d'appliquer la table des traitements sur la previsu (patfr, report de http://zone.spip.org/trac/spip-zone/changeset/30736 )
+
+2.0.8 -> 2.0.9 : changelog passé à la trappe
+
+2.0.7 -> 2.0.8 (11 mai 2009)
+Revision: 13974 generer_action_auteur necessite au moins 2 arguments (eric)
+Revision: 13972 améliorations du débusqueur (report de [13917], [13941] et[13944] )
+Revision: 13971 ne pas confondre le parent de l'id que l'on demande a #EXPOSE avec le parent du principal qui lui est extrait du contexte de reference. Le premier est passe en parametre mais ne sert en fait a rien, le second doit du coup etre trouve par une requete sql. La confusion entrainait des trous dans la liste des objets a exposer si au premier calcul le parent n'etait pas le meme (tetue)
+Revision: 13970 mise à jour de jquery.form.js pour éviter un bug sur IE8 et les formulaires ajax. ([13955], [13966] et [13967])
+Revision: 13963 l'ecriture du tag en sortie des filtres images echouait si l'url initiale contenait des &. Un patch qui ne restera pas dans les annales mais fonctionne dans le cas des documents proteges
+Revision: 13962 copie_locale renvoie toujours un chemin relatif a la racine, pas au repertoire courant (cas des documents proteges)
+Revision: 13961 les filtres image appliques sur les images protegees par spip.php?action=acceder_document provoquent un appel a taille_image qui commet l'erreur de tronquer la chaine de get avant de faire copie_locale, et d'essayer vainement de copier spip.php en local. Si par malheur, la page d'accueil servie par spip.php dans ce cas contient une ou plusieurs images protegees retraitees, la boucle et bouclee, et le serveur par terre. Probablement donc, une cause serieuse de saturation serveur pour les utilisateurs du plugin acces_restreint
+Revision: 13959 Validité XHTML Un petit complément à [13957] pour parfaire la validité (Eric)
+Revision: 13954 Import des sauvegardes partielles: si le document est déjà distant, ne pas ajouter le _DIR_IMG local, ça ne rime à rien. Par ailleurs, pas d'état d'âme avec les vieilles tables: on ne peut insérer que des sauvegardes partielles de même constitution que la base d'accueil.
+Revision: 13952 report de [13950] date en nepalais
+Revision: 13951 correction du passage de langue dans les formulaires CVT : un formulaire dans un article différent de la langue du site () n'avait pas les bonnes traductions des fonctions _T() dans les fonctions verifier() et traiter(). (cerdic)
+Revision: 13946 Correction de [13939]: se protéger du bloc de compatibilité des url_propres que le nouveau form_hidden interprète de travers: autant ne pas passer par generer_url_entite si on a déjà le paramètre page, typiquement dans le cas du formulaire de recherche std (Eric).
+Revision: 13943 Correction de l'erreur de syntaxe PHP du code compilé lorsque le critère {{{par}}} contient un appel de fonction SQL. Un peu à l'arrach', mais ça permet déjà de retrouver la compatibilité avec ce que savait faire la 1.9 (Mathieu). Test {{{}}}
+Revision: 13942 Prendre en compte un nom et un mot de passe dans une URL de page distante à récupérer (Stéphane)
+Revision: 13940 Dans le squelette des pétitions, il faut afficher le moteur de recherche s'il vient d'y avoir une recherche, le nombre de signatures est faussement réduit dans ce cas. Et en profiter pour faire du XHTML strict.
+Revision: 13939 Compatibilité du filtre {{{form_hidden}}} avec les URL symboliques: il faut qu'il demande à generer_url_entite de lui fabriquer le contexte comme pour l'assemblage de la page. La modif de urls/page.php n'était finalement pas indispensable, mais éviter de resynthètiser les 3 RegExp à chaque appel ne fait pas de mal.
+Revision: 13938 le pipeline "styliser" n'était pas déclaré dans la stable !
+Revision: 13936 permettre que le titre d'un document ait une extension differente de celle du fichier d'origine pour que le telechargement se fasse sous un nom&type different de celui sous lequel le fichier est heberge sur le serveur (ex envoyer en .php un fichier stocke en .txt pour raison de securite).
+Revision: 13931 etre un peu plus strict dans la verification du titre du document avant de s'en servir comme nom de fichier : - il faut qu'il ait la bonne extension - il faut qu'il ressemble a un nom de fichier (en particulier compose de caracteres licites) ( [13933] aussi)
+Revision: 13930 retablir un content-type indument supprime par [13924]
+Revision: 13928 double echappement provoquait la mort definitive des sites suspendus : ils devenaient {{{'su}}} au lieu de {{{sus}}}
+Revision: 13927 Ce n'est pas parce que certains systèmes d'exploitation que je ne nommerai pas pataugent avec certains noms de fichiers qu'il faut considérer [11243] comme une {{fausse bonne idée}} comme le dit [13760]. Je filtre le cas du titre de document n'ayant pas d'extension qui ne doit en effet pas être utilisé comme nom de fichier du {{{Content-Disposition}}} (et encore, {{{Makefile}}} est notoirement recevable), mais autrement je restaure le comportement d'avant qui est une fausse {{fausse bonne idée}}}, autrement dit une vraie bonné idée. Par contrecoup, report du renforcement de sécurité su secret du site [13866] dans la branche 2.0.
+Revision: 13924 seuls les types de document qui ne peuvent etre inclus doivent etre envoyes en "Content-Disposition : attachment". Les clip flash et autre types embed n'etais pas visualisable lorsque la protection des documents etait activee
+Revision: 13912 #1744 memoriser le bouton sumblit clique ou le x/y du bouton image clique quand on post un formulaire en ajax pour pouvoir les poster si jamais on resubmit en post classique suite a une demande du serveur refuser_traiter_formulaire_ajax()
+Revision: 13911 enlever la securite dans le message_ok au retour des formulaires, car sinon il n'est pas possible de faire la redirection apres un post ajax dans l'espace prive
+Revision: 13909 permettre au filtre |match de retourner la valeur 0 (zero) si elle est explicitement recherchee
+Revision: 13908 #1732 : bug a la verification lors de la creation d'un auteur ( plus [13910])
+Revision: 13905 #1687 : ne pas perturber le filtre unique avec #INTRODUCTION
+Revision: 13901 corriger la recuperation d'arguments passes en url et le faux appel de syndic.html
+Revision: 13898 Oups. Faux départ de AS U ! (mea culpa)
+Revision: 13897 Les URLs ne se recalculaient pas dans un cas précis : changement de la casse sur une table insensible à la casse. Pour éviter cela, on réécrit aussi, en plus de la date de mise à jour de l'url son titre. Si la casse change, il sera ainsi pris en compte. Correction aussi d'un bug U.type inexistant sur les url arborescentes...
+Revision: 13893 [12134] avait casse la relance des signatures en recalculant un hash au lieu de renvoyer l'existant
+Revision: 13892 amelioration de la strategie de purge : - si le cache est trop gros on redemande la main - mais si il n'y a plus assez de vieux fichiers a purger, on la rend Ainsi, meme avec un reglage trop bas du quota, le cache se stabilisera autour du volume necessaire pour stocker une heure de traffic
+Revision: 13889 ne pas laisser le cache deborder lorsque les robots (ou les internautes) sont tres actifs - inc/invalideur renvoie le ratio taille cache/quota - le genie redemande la main lorsque le ratio est trop grand, sans attendre le prochain coup - les operations de vidange sont logees dans invalideur.log avec les details permettant de suivre les operations
+
+2.0.6 -> 2.0.7 (13 avril 2009)
+
+Revision: 13887 Le datage des urls reecrites echouait pour cause de requette eronnee. Le suspens continue : y aura-t-il une version stable 2.0.x avec des urls reecrites non bugguees ?
+Revision: 13882 patch de vincent ramos pour #1703 + report des trucs modernes de inc/rechercher dans la branche 2.0
+Revision: 13881 pas de . en dehors de celui separant l'extension, sinon il est possible d'injecter du php dans un toto.php.txt, qu'apache peut vouloir traiter comme un .php normal (attaque dite 'de vlad' )
+Revision: 13880 session_set() lorsqu'on renseigne son email (suite de [13878])
+Revision: 13879 report [13878] afficher l'email de l'auteur connecte si on le connait (session)
+Revision: 13877 report et nettoyage de ecrire_fichier_securise()
+Revision: 13876 report de ecrire_fichier_securise [13867] pour mieux masquer le contenu de tmp/meta_cache.txt(.php) en cas d'ouverture inopinee de tmp/ aux regards curieux
+Revision: 13873 retour de la pagination dans le controle des petitions (bug introduit en [13320])
+Revision: 13872 Report de [13868] corrigeant l'aléa ancien.
+Revision: 13870 revert de [13846] qui casse le fonctionnement de la pagination AJAX
+Revision: 13865 il faut securiser les appels à propre et typo hors squelette (typiquement code php de l'espace privé), mais dans les squelettes, la sécurisation est intégrée, et il ne faut pas en rajouter. On utilise donc la presence du parametre connect pour distinguer les appels des squelettes qui le comportent tous, des appels historiques hors squelettes qui ne le mentionnent jamais. Corrolairement, en cas d'appel hors squelette avec un parametre connect, il convient d'appeler en plus interdire_script
+Revision: 13862 Nouvelle méthode pour l'authentification LDAP, qui devrait résoudre le bug dans certaines config d'Active Directory. Géraud Tardif remarque qu'il est idiot de risquer des bugs avec des champs absents pour trouver le login, puisqu'on l'a déjà . Il vaut donc mieux se rabattre sur lui, mais on modifie les signatures des fonctions auxilaires pour qu'il soit facile de surcharger {{{auth_ldap}}} de sorte qu'on réclame des champs supplémentaires et qu'on en tienne compte.
+Revision: 13859 Ignorer les lignes vides dans les CSV lorsque transformés en table HTML à la volée (Cyril).
+Revision: 13858 Ne pas utiliser intval quand on fabrique une requête SQL, celui-ci ayant des grands entiers en standard, contrairement à PHP (Camille). Vu son logo on aurait dû se méfier: un PHP, ça tronque énormément.
+Revision: 13857 Les distributions RedHat, Fedora et CentOS ont maintenant une installation d'Apache par défaut qui font que le AllowOverride est à None par défaut, avec comme conséquence que les {{{deny from all}}} installés par SPIP ne sont plus effectifs sur ces distributions non modifiées. En conséquence, report immédiat dans la branche stable de [13608], qui n'écrit plus dans tmp la valeur des aleas, qui sont des informations trop sensibles. A signaler à propos des aléas que l'alea_ancien n'est pas pris en compte pour les actions dont l'URL comporte ecrire/, il faut renoncer à ces URLs. Enfin, il faudrait insister dans la doc sur le fait que tmp/ et config/ doivent être interdits à la lecture publique, idéalement en les mettant à l'extérieur du DocumentRoot.
+Revision: 13856 Bug de puce 'meme-rubrique" des sites references
+Revision: 13853 un flag manquant pour preciser que l'on est dans l'espace prive
+Revision: 13852 pas d'exe´cution en public non plus !
+Revision: 13850 il est temps de suivre la prévision des oracles proteger l'espace privé, donc...
+Revision: 13848 eviter le die intempestif "spip_urls AS U insertion sans description" lors de la creation de nouvelles urls ... (bug introduit au detour de http://zone.spip.org/trac/spip/changeset/13838#file22)
+Revision: 13846 indentation + meilleure verification sr onAjaxLoad(), pour compat crayons++
+Revision: 13845 enieme correction des urls ... je vais peut-etre finir par y arriver
+Revision: 13844 report oublie de [13765] qui reparait les urls arbo avec types renommes
+Revision: 13843 permettre a la previsu de savoir ou elle se trouve (cf. http://www.spip-blog.net/forum-spip-org-comme-base-de.html )
+Revision: 13841 log plus explicite
+Revision: 13839 erreur sql sur date
+Revision: 13838 NOW() disparait au profit de la date php (a verifier svp)
+Revision: 13836 la date d'un article c'est celle du php, pas celle du SQL
+
+
+2.0.5 -> 2.0.6 (16 mars 2009)
+
+Revision: 13834 report http://trac.rezo.net/trac/spip/changeset/13833 ajout d'un index sur spip_documents_liens
+Revision: 13830 passer l'id_auteur et l'id_article au squelette du forumlaire ecrire_auteur l'id etait calculé mais pas passé, on l'ajoute donc aussi
+Revision: 13828 report de http://trac.rezo.net/trac/spip/changeset/13827 redirections anciennes urls
+Revision: 13826 report discret de exec=fond introduit dans http://trac.rezo.net/trac/spip/changeset/13800 afin de pouvoir utiliser un meme plugin en version stable et dev etant un ajout de fonctionnalité, cela ne devrait pas poser de problème...
+Revision: 13824 report de http://trac.rezo.net/trac/spip/changeset/13822 et http://trac.rezo.net/trac/spip/changeset/13823 -- correction erreur 404 sur les urls de type spip.php
+Revision: 13820 donner une PRIMARY KEY quand il n'y a rien (VIEW MySQL)
+Revision: 13818 toujours proteger les file_exists()
+Revision: 13812 ajout discret du pipeline styliser pour le futur 2.0.6, afin que les plugins comme SPIP Clear puissent s'appuyer dessus sans surcharger le fichier.
+Revision: 13809 coquille css (pi_r)
+Revision: 13808 Report de http://trac.rezo.net/trac/spip/changeset/13807 -- ne pas empecher le changement de mode image/document sur les images de rubriques...
+Revision: 13801 manque de quotes (denisb)
+Revision: 13798 un lien du type {{{ [->http://www.favicon.cc/?action=icon&file_id=29805] }}} doit se transformer proprement avec un {{{ & }}}
+Revision: 13797 Report de http://trac.rezo.net/trac/spip/changeset/10796 : #CHAPO doit enlever les redirections, mais pas #CHAPO* qui doit les laisser.
+Revision: 13795 report de http://trac.rezo.net/trac/spip/changeset/13794 : charger les autorisations au moment du traitement de #FORMULAIRE_EDITER_AUTEUR appellé depuis le public
+Revision: 13793 Le début des vertèbres n'est pas la vertèbre nommée début [http://archives.rezo.net/spip-dev.mbox/200902.mbox/raw/%3C49A3FF0F.8070102@yahoo.fr%3E/ YannX].
+Revision: 13792 Ne pas tenter de réparer l'irréparable quand il faut prendre de la distance.
+Revision: 13791 Fallait savoir que {{{$x[$y]}}} convertit la chaîne {{{$y}}} en nombre quand elle est interprétable ainsi. PHP, le langage dont vous nous ne découvrirez jamais tous les pièges. Super argument publicitaire.
+
+2.0.4 -> 2.0.5
+
+- report de [13778] : l'installation sur les serveurs mysql avec un sql_mode par defaut etait cassee repare les installations sous easyphp 3.0 par defaut (13788)
+- closedir(d); avant de l'effacer (13787)
+- report de [13785] reparer la 404 des urls propres, et le mode urls propres_qs (13786)
+- report de htaccess (robots.txt, favicon.ico, sitemap.xml), correction des urls selon rfc 1738. references : [13769] et de [13779] a [13783] (13784)
+- noindex au lieu de none pour site.html (cf. [13773]) ( 13776 )
+
+
+2.0.3 -> 2.0.4
+
+- Remettre jQuery 1.2.6 pour ne pas créer de problème de comptabilité. Ceux qui le souhaitent pourront mettre jQuery 1.3.2 dans leur répertoire squelettes dans un fichier : « javascript/jquery.js » (13774)
+- Enlever tous les arobases des sélecteurs jQuery pour autoriser jQuery 1.3.x(13772)
+- report de [13755] et [13763] introduit les valuers date_default et date_redac_default dans le contexte quand SPIP ajoute la date d'office / accepter un tableau pour le filtre alterner (13770)
+- report de [13621]Ajout de jQuery 1.3 ... Attention aux extensions qui utilisent encore [@param=value] dans les sélecteurs jQuery à passer en [param=value] . (13768)
+- Ajout de image_joindre (13766)
+- #1691 : une balise etant absurde, il s'agit forcement du nom de la note (13761)
+- #1711 : annuler [11243] qui etait une fausse bonne idee ; en l'absence d'extension dans le titre, les navigateurs sont perdus (13760)
+- #1695 produire un aplat quand la production d'image echoue pour la css privee (13759)
+- #1704 : reduire la taille de la vignette, y compris dans la colonne documents (13758)
+- la fonctionnalite cachee dans la dist {article sans texte+un document joint} -> affichage du document inline provoquait le masquage de tous les documents joints lorsque le texte etait vide et plusieurs document joint. il faudrait au moins documenter le code pour eviter de reintroduire le bug (13757)
+- jQuery 1.3.2 http://docs.jquery.com/Release:jQuery_1.3.2 (13756)
+- Complément sur les urls arbo (13753)
+- les balises CVT #FORMULAIRE_TRUC implementees par la balise generique #FORMULAIRE_ n'utilisent que le squelette formulaires/truc.html Inutile et trompeur de chercher a la racine le squelettre truc.html, donc (13751)
+- Bien tester tous les formulaires avant de les declarer inexistants * [13744] [13745] [13746] etaient incomplets on les fussionne (13749)
+- Complement a [13745] et [13746] * le findpath manquait de precision (13746)
+- report de [13744] #FORMULAIRE_INEXISTANT (13745)
+- report de [13741] gestion plus fine des urls (13742)
+- Amelioration traitement de l'arabe, notamment quand tiret a l'interieur d'un mot. (13739)
+- On place le contenu du js du login dans un cdata pour être valide ... On encapsule également la fonction jquery en passant... (13734)
+- report de [13732] bg d'affiche des sites syndiques dans l'espace prive (13733)
+- report de [13728] urls page (13729)
+- report de [13725] et [13726] (debug) (13727)
+- complement a [13720] : les fonctions url_xx($id,$entite) renvoient toujours une url valide donc commencant par ../ si on est dans ecrire/ (c'etait le cas auparavant pour les documents mais pas pour les autres entites) Corrolairement #URL_ARTICLE pointe toujours sur l'article, que le squelette soit evalue dans l'espace public ou prive, et [(#URL_ARTICLE|url_absolue)] est toujours correcte. Ceci est vrai pour toutes les entites (13722)
+- gerer les notes dans le suivi des forums (13721)
+- report de [13719] nouvelle API d'URLs (13720)
+- ne pas surligner dans la page de recherche elle-meme (report de [13717]) (13718)
+- integration des #NOTES dans les forums (13710)
+- lorsque generer_url_entite doit generer une url publique depuis l'espace prive, il semble logique de prefixer de _DIR_RACINE pour que l'url soit valide repare le calcul des nouveautes et de [(#URL_ARTICLE|url_absolue)] evalue depuis le prive (13708)
+- eviter les @include qui masquent les erreurs (13707)
+- un pas xhtml (13706)
+- report de [13689] #URL_ARTICLE et consort designent toujours l'url publique de l'objet depuis la racine, meme utilisee dans l'espace prive il faut donc les prefixer de #EVAL{_DIR_RACINE} dans le cas ou l'on affiche cette url dans l'espace prive pour que le lien soit correct (13705)
+- report de [13696] ne pas coller les paragraphes en previsu des forums (13701)
+- éviter d'avoir plusieurs id="nobot" sur la même page. Un div englobant le contenu du formulaire des signatures pour éviter des erreurs de validation (13699)
+- Le double clic du sélecteur d'auteur en Ajax ne fonctionnait pas. (13694)
+- puce_statut surchargeable (permet en particulier le plugin mots techniques) (13693)
+- fixer la taille des images pour que ca ne clignote pas (13692)
+- Complément de 13677 sur la mise à jour de la base lors d'un upgrade (13691)
+- prise en compte de Accept-Language pour tout le monde (pas seulement les personnes authentifiées) (13690)
+- Correction d'un bug sur la sauvegarde et la fusion (13661)
+- Meilleure gestion en cas de plantage de l'installation (13659)
+- Eviter un warning concernant les URL personnalisées (13654)
+- correctif version allemande (klaus) (13636)
+- la syntaxe recuperer_fond($fond,$contexte,array('ajax'=>true)) ne fonctionnait que si le fond etait defini dans le contexte (13615)
+- Il y a des versions de PHP où les imagegif etc sont absentes, on contrôle (13606)
+- Il est totalement inutile de compliquer les choses avec des {doublons}... {!id_groupe} enlève déjà le groupe en cours. (13604)
+- Gérer l'explicitation du nom des tables dans le critère Fusion (13603)
+- Respecter les 0 dans les urls propres (13602)
+- Les restaurations de DUMP anciens avec une version 10000 utilisée ne commençaient pas les mises à jour à la version qu'il faut (13598)
+
+
+2.0.2 -> 2.0.3
+
+- pouvoir tenir compte du hreflang lors de la construction de l'URL par calculer_url via inc_lien_dist (13595)
+- les entitee > et < etaint changee en < > apres une surligne (13593)
+- Accepter les - dans le nom des bases SQL (13591)
+- Bug sur changement d'auteur si le nom de l'auteur était trop court (13590)
+- Coquille dans les vieilles defs (manque un g pour generer !) (Charly Caulet) (13586)
+- Retour des recherches de mots associés aux documents (non utilisée dans le core) (13584)
+- Bug si erreur de frappe #URL_ MOT (espace avant MOT) (13582)
+- Pour un raccourci "[->25]" la fonction nettoyer_raccourcis_typo renvoie "Array"... (Pat). (13573)
+- Le numéro du jour manquait sur le libellé du survol conduisant au calendrier du jour. Quant au libellé du mois, il n'emmenait pas sur le calendrier du mois. (13569)
+- Une fonctionnalité de la 1.9.2 perdue: si id_rubrique est fournie à la création d'une traduction, il faut créer dans cette rubrique, pas ailleurs. (13560)
+- ne pas ecraser le hash de la boucle avec le critere {recherche} cela empeche tout plugin de l'utiliser (13555)
+- proteger la fonction recuperer_fond quand on ecrit recuperer_fond($fond,$_GET) dans les plugins meme si il semble que la variable soit protegee en amont dans tous les cas (13551)
+- Le cryptage du mot de passe avant envoi n'était plus assuré que si le cookie dession était toujours actif. (13544)
+- Fatal error a la suppression d'un document avec vignette. (13539)
+- Lorsqu'on pose ou retire les .htaccess des sous-répertoires de IMG, il ne faut pas oublier celui nommé "distant" qui ne figure pas dans la table des types de documents. (13538)
+- Deux balises A pour LOGO_DOCUMENT, c'est une de trop (Eric). (13536)
+
+
+2.0.1 -> 2.0.2
+
+- deux bugs au login (13529)
+- refuser les urls avec le pseudo protocole data (13521)
+- bonne année (13520)
+- Unifier la mise en page dans les 3 onglets de gestion des langues (13519)
+- encore quelques retouches sur l'agenda de l'espace publique (13517)
+- le champ type de la balise A d'un logo de document était toujours vide (13512)
+- la boucle DOCUMENTS ne donnait pas les documents attachés aux messages de forums (13511)
+- accepter les notes nommees <*> <+> <.> et autres caracteres significatifs (13510)
+- un peeling pour évacuer le point noir. (13508)
+- amélioration du calcul de popularité (13506)
+- lien incorrect dans le message à un visiteur venant de s'inscrire (13504)
+- support du png8 comme format de image_format (l'extension sera bien 'png') (13501)
+- authentification via LDAP/AD, lire le Samaccountname (13500)
+- proteger l'$id fournit a calcul_branche_in (13498)
+
+
+2.0.0 -> 2.0.1 rapport de police (13469 ->13495)
+
+- réparation d'un bug sur les urls standard et autres anciennes implémentations (13489)
+- problème de création du répertoire cache à l'install (13487)
+- correction mineure sur le calcul des visites (13485)
+- Compilateur : défaut sur la prise en compte sur le champ statut dans le cas d'une requête sur une table principale (13484)
+- correction pour IE6/7 sur les formulaires de l'espace privé (13481)
+- il était impossible de déplacer SPIP dans un sous répertoire (13478 )
+
diff --git a/www/COPYING.txt b/www/COPYING.txt
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/www/COPYING.txt
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+ .
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
diff --git a/www/INSTALL.txt b/www/INSTALL.txt
new file mode 100644
index 0000000..9757e15
--- /dev/null
+++ b/www/INSTALL.txt
@@ -0,0 +1,15 @@
+
+###### Installation de SPIP #####
+
+Rendez-vous avec votre navigateur sur la page ecrire/
+pour commencer l'installation de votre site SPIP.
+
+Votre serveur Web doit offrir php (version > 4.0.8) et MySQL.
+
+Pour permettre a SPIP de gerer de belles adresses (URL),
+vous devrez probablement renommer le fichier htaccess.txt
+en .htaccess a la racine du site (apres avoir, si necessaire,
+edite la ligne RewriteBase ; voir les commentaires).
+
+################################# http://www.spip.net/
+
diff --git a/www/config/mes_fonctions.php b/www/config/mes_fonctions.php
new file mode 100755
index 0000000..b31bf71
--- /dev/null
+++ b/www/config/mes_fonctions.php
@@ -0,0 +1,50 @@
+0 AND id_trad=id_trad(precedent))
+// OR id_article=id_article(precedent)
+function critere_traduction($idb, &$boucles, $param, $not) {
+ $boucle = &$boucles[$idb];
+
+ // cas des rubriques : on va chercher toutes les rubriques contenant
+ // des trads *publiees* de nos articles *publies*
+ if ($boucle->id_table == 'rubriques') {
+ if ($param == 'traduction') {
+ $boucle->from[] = "spip_articles AS source";
+ $boucle->from[] = "spip_articles AS dest";
+ $boucle->group = "rubriques.id_rubrique";
+ $boucle->where[] = "((source.id_trad=dest.id_trad
+ AND source.statut='publie'
+ AND dest.statut='publie'
+ AND rubriques.id_rubrique = source.id_rubrique
+ AND dest.id_rubrique = '\"."
+ . calculer_argument_precedent($idb, 'id_rubrique',
+ $boucles)
+ . ".\"') OR (rubriques.id_rubrique = '\"."
+ . calculer_argument_precedent($idb, 'id_rubrique',
+ $boucles)
+ . ".\"'))
+ ";
+ return;
+ } else
+ erreur_squelette(_T('zbug_info_erreur_squelette'), $param);
+ }
+
+ // cas normal (articles) : la table possede un champ id_trad
+ if ($param == 'traduction') {
+ $boucle->where[] = "((".$boucle->id_table.".id_trad > 0 AND "
+ . $boucle->id_table.".id_trad ='\"."
+ . calculer_argument_precedent($idb, 'id_trad',
+ $boucles)
+ . ".\"')
+ OR
+ (" . $boucle->id_table.".".$boucle->primary." ='\"."
+ . calculer_argument_precedent($idb, $boucle->primary,
+ $boucles)
+ . ".\"'))";
+ } else
+ erreur_squelette(_T('zbug_info_erreur_squelette'), $param);
+}
+
+?>
\ No newline at end of file
diff --git a/www/config/remove.txt b/www/config/remove.txt
new file mode 100755
index 0000000..28138d7
--- /dev/null
+++ b/www/config/remove.txt
@@ -0,0 +1,3 @@
+Vous pouvez effacer ce fichier sans dommages.
+
+You can safely remove this file.
diff --git a/www/ecrire/action/acceder_document.php b/www/ecrire/action/acceder_document.php
new file mode 100644
index 0000000..0784a6a
--- /dev/null
+++ b/www/ecrire/action/acceder_document.php
@@ -0,0 +1,124 @@
+
diff --git a/www/ecrire/action/activer_plugins.php b/www/ecrire/action/activer_plugins.php
new file mode 100644
index 0000000..94b3649
--- /dev/null
+++ b/www/ecrire/action/activer_plugins.php
@@ -0,0 +1,66 @@
+$val){
+ if (isset($test[$choix])&&$val=='O')
+ $plugin[]=$test[$choix];
+ }
+
+ spip_log("Changement des plugins actifs par l'auteur " . $GLOBALS['visiteur_session']['id_auteur'] . ": " . join(',', $plugin));
+ ecrire_plugin_actifs($plugin);
+
+ // Chaque fois que l'on valide des plugins, on memorise la liste de ces plugins comme etant "interessants", avec un score initial, qui sera decremente a chaque tour : ainsi un plugin active pourra reter visible a l'ecran, jusqu'a ce qu'il tombe dans l'oubli.
+ $plugins_interessants = @unserialize($GLOBALS['meta']['plugins_interessants']);
+ if (!is_array($plugins_interessants))
+ $plugins_interessants = array();
+
+ $plugins_interessants2 = array();
+
+ foreach($plugins_interessants as $plug => $score)
+ if ($score > 1)
+ $plugins_interessants2[$plug] = $score-1;
+ foreach ($plugin as $plug)
+ $plugins_interessants2[$plug] = 10; // score initial
+ ecrire_meta('plugins_interessants', serialize($plugins_interessants2));
+
+ if (isset($GLOBALS['meta']['plugin_erreur_activation'])){
+ $GLOBALS['redirect'] = parametre_url(_request('redirect'),'voir','recents');
+ }
+}
+
+// http://doc.spip.org/@action_activer_plugins_dist
+function action_activer_plugins_dist() {
+
+ $securiser_action = charger_fonction('securiser_action', 'inc');
+ $arg = $securiser_action();
+
+ if (!autoriser('configurer', 'plugins'))
+ die('erreur');
+ // forcer la maj des meta pour les cas de modif de numero de version base via phpmyadmin
+ lire_metas();
+ enregistre_modif_plugin();
+}
+
+?>
diff --git a/www/ecrire/action/auth.php b/www/ecrire/action/auth.php
new file mode 100644
index 0000000..f530ba8
--- /dev/null
+++ b/www/ecrire/action/auth.php
@@ -0,0 +1,45 @@
+
diff --git a/www/ecrire/action/changer_mode_document.php b/www/ecrire/action/changer_mode_document.php
new file mode 100644
index 0000000..f8960c5
--- /dev/null
+++ b/www/ecrire/action/changer_mode_document.php
@@ -0,0 +1,52 @@
+$mode), 'id_document='.$id_document);
+ }
+ if ($case = _request('afficher_case')){
+ $case = explode('-',$case);
+ list($id,$type,$script) = $case;
+ include_spip('inc/presentation');
+ include_spip('inc/documents');
+ include_spip('inc/actions');
+ // vilain hack pour ne pas recharger un script js
+ affiche_raccourci_doc('doc', $id_document, 'left');
+ // voila
+ ajax_retour(afficher_case_document($id_document, $id, $script, $type, true));
+ exit();
+ }
+}
+?>
diff --git a/www/ecrire/action/charger_plugin.php b/www/ecrire/action/charger_plugin.php
new file mode 100644
index 0000000..0d9891d
--- /dev/null
+++ b/www/ecrire/action/charger_plugin.php
@@ -0,0 +1,305 @@
+ $c)
+ essaie_ajouter_liste_plugins($url);
+ }
+ elseif ($arg == 'supprimer_flux' AND $url = _request('supprimer_flux')) {
+ $syndic_plug = @unserialize($GLOBALS['meta']['syndic_plug']);
+ unset($syndic_plug[$url]);
+ ecrire_meta('syndic_plug', serialize($syndic_plug));
+ }
+ elseif (in_array($arg,array('charger_zip','lib','plugins'))) {
+ // la verification que c'est bien un zip sera faite apres
+ $zip = _request('url_zip_plugin');
+ }
+ elseif (strlen($arg)) {
+ // la verification que c'est bien un zip sera faite apres
+ $zip = $arg;
+ }
+ else {
+ // indetermine : c'est un zip ou une liste
+ $arg = 'charger_liste_ou_zip';
+ $zip = _request('url_zip_plugin2');
+ }
+
+ # si premiere lecture, destination temporaire des fichiers
+ $tmp = sous_repertoire(_DIR_CACHE, 'chargeur');
+ # on ne se contenten pas du basename qui peut etre un simple v1
+ # exemple de l'url http://nodeload.github.com/kbjr/Git.php/zipball/v0.1.1-rc
+
+ $fichier = (_request('fichier')?
+ _request('fichier')
+ :"h".substr(md5($zip),0,8)."-".basename($zip)
+ );
+ # basename par securite notamment dans le cas ou $fichier viens de l'exterieur
+ $fichier = $tmp.basename($fichier);
+ $extension = ""; // a verifier
+
+ # au second tour, le zip designe directement le fichier au lieu de l'url
+ # initiale
+ if (!file_exists($fichier)) {
+ # si on ne dispose pas encore du fichier
+ # verifier que le zip en est bien un (sans se fier a son extension)
+ # en chargeant son entete car l'url initiale peut etre une simple
+ # redirection et ne pas comporter d'extension .zip
+ include_spip('inc/distant');
+ $head = recuperer_page($zip, false, true, 0);
+
+ if (preg_match(",^Content-Type:\s*application/zip$,Uims",$head))
+ $extension = "zip";
+ elseif (preg_match(",^Content-Disposition:\s*attachment;\s*filename=(.*)$,Uims",$head,$m)){
+ $f = $m[1];
+ if (pathinfo($f, PATHINFO_EXTENSION)=="zip"){
+ $fichier = (_request('fichier')?
+ _request('fichier')
+ :"h".substr(md5($zip),0,8)."-".basename($f)
+ );
+ $fichier = $tmp.basename($fichier);
+ $extension = "zip";
+ }
+ }
+ // au cas ou, si le content-type n'est pas la
+ // mais que l'extension est explicite
+ elseif(pathinfo($zip, PATHINFO_EXTENSION)=="zip")
+ $extension = "zip";
+
+ # si ce n'est pas un zip dans un format connu,
+ # c'est sans doute une liste de plugins
+ # si on est dans le bon scenario
+ if (!$extension) {
+ if ($arg == 'charger_liste_ou_zip') {
+ essaie_ajouter_liste_plugins($zip);
+ }
+ }
+ }
+ else {
+ $extension = pathinfo($fichier, PATHINFO_EXTENSION);
+ if (!$extension)
+ $extension = pathinfo($zip, PATHINFO_EXTENSION);
+ }
+ # format de fichier inconnu
+ if (!$extension) {
+ spip_log("Extension inconnue pour le paquet $fichier venant de $zip");
+ include_spip('inc/headers');
+ redirige_url_ecrire('charger_plugin');
+ }
+
+ # Si definie a '', le chargeur est interdit ; mais on n'aurait de toutes
+ # facons jamais pu venir ici avec toutes les securisations faites :^)
+ if (!_DIR_PLUGINS_AUTO) die('jamais');
+
+ # dispose-t-on du fichier ?
+ $status = null;
+ # forcer l'extension du fichier par securite
+ $fichier = $tmp.basename($fichier,".$extension").".$extension";
+ if (!@file_exists($fichier)) {
+ include_spip('inc/distant');
+ $contenu = recuperer_page($zip, $fichier, false,_COPIE_LOCALE_MAX_SIZE);
+ if (!$contenu) {
+ spip_log('charger_decompresser impossible de charger '.$zip);
+ $status = -1;
+ }
+ }
+
+ if ($status === null) {
+ $status = chargeur_charger_zip(
+ array(
+ 'zip' => $zip,
+ 'arg' => $arg,
+ 'fichier' => $fichier,
+ 'tmp' => $tmp,
+ 'extract' => _request('extract')
+ )
+ );
+ if (_request('extract')) {
+ spip_unlink($fichier);
+ }
+ }
+
+ // Vers quoi pointe le bouton "suite"
+ $suite = '';
+
+ // le fichier .zip est la et bien forme
+ if (is_array($status)) {
+
+ // Reconnaitre un plugin par son fichier xml
+ $get_infos = charger_fonction('get_infos','plugins');
+ $infos = $get_infos($status['tmpname'], true, '');
+ if ($infos) {
+ $nom = $infos['nom'];
+ $image = $infos['icon'];
+ $description = $infos['description'];
+ $type = 'plugin';
+ $dest = _DIR_PLUGINS_AUTO;
+ } else {
+ $type = 'lib';
+ $dest = _DIR_RACINE.'lib/';
+ }
+
+ // Fixer son emplacement final
+ $status['dirname'] = $dest
+ . basename($status['tmpname']) . '/';
+
+ // repertoire parent accessible en ecriture ?
+ if (!@is_dir($dest)
+ OR !@is_writeable($dest)) {
+ $retour = _T("erreur");
+ $texte = ""._T('plugin_erreur_droit1',array('dest'=>$dest))."
"
+ . ""._T('plugin_erreur_droit2').aide('install0')."
";
+ }
+ else
+
+ // C'est un plugin ?
+ if ($type == 'plugin') {
+
+ $retour = typo($nom);
+
+ // l'icone ne peut pas etre dans tmp/ (lecture http oblige)
+ // on la copie donc dans local/chargeur/
+ if ($image) {
+ $dir = sous_repertoire(_DIR_VAR,'chargeur');
+ @copy($status['tmpname'].'/'.$image, $image2 = $dir.basename($image));
+ $retour = " "
+ . $retour;
+ } else
+ $retour = " "
+ . $retour;
+
+ if (_request('extract')) {
+ $afficher = charger_fonction('afficher_plugin','plugins'); // pour plugin_propre
+ $texte = plugin_propre($description)
+ . ''._T('plugin_zip_installe_finie',array('zip'=>$zip)).'
'
+ . ""._T('plugin_zip_active')." ";
+ } else {
+ $texte = ''._T('plugin_zip_telecharge',array('zip'=>$zip)).'
';
+ $texte .= liste_fichiers_pclzip($status);
+ $texte .= ""._T('plugin_zip_installer')." ";
+ $suite = 'plugins';
+ }
+ }
+
+ // C'est un paquet quelconque
+ else {
+ $retour = _T('plugin_charge_paquet',array('name' => basename($status['tmpname'])));
+
+ if (_request('extract')) {
+ $texte = ''._T('plugin_zip_installe_rep_finie', array('zip'=>$zip, 'rep'=>$status['dirname'])).'
';
+ } else {
+ $texte = ""._T('plugin_zip_telecharge',array('zip'=>$zip))."
\n";
+ $texte .= liste_fichiers_pclzip($status);
+ $suite = 'lib';
+ }
+ }
+ }
+
+ // fichier absent
+ else if ($status == -1) {
+ $retour = _T('erreur');
+ $texte = _T('plugin_erreur_charger', array('zip'=>$zip));
+ }
+
+ // fichier la mais pas bien dezippe
+ else {
+ $retour = _T('erreur');
+ $texte = _T('plugin_erreur_zip',array('status'=>$status));
+ }
+
+
+ include_spip('inc/install'); // pour bouton_suivant()
+
+ $texte = "$texte
\n";
+
+ $redirect = rawurldecode(_request('redirect'));
+ // par defaut on revient sur la page admin_plugin
+ if($redirect == _DIR_RESTREINT OR $redirect == "./"){
+ $redirect_annul = generer_url_ecrire('admin_plugin');
+ $redirect_form = 'admin_plugin&voir=recents&'.$type.'='.preg_replace(',^[^/]+/|/$,', '', $status['dirname']);
+ $redirect_action = '';
+ }
+ else{
+ $redirect_annul = $redirect;
+ $redirect_form = preg_replace(',^.*exec\=,', '', $redirect);
+ if (!$suite)
+ $texte .= form_hidden(parametre_url(generer_url_ecrire($redirect_form), $type,preg_replace(',^[^/]+/|/$,', '', $status['dirname'])));
+ $redirect_action = $redirect_form;
+ }
+ echo minipres($retour." ",
+ $suite
+ ? redirige_action_post(_request('action'),
+ $suite,
+ $redirect_action,
+ '',
+ form_hidden('?url_zip_plugin='.urlencode($zip).'&extract=oui&fichier='.urlencode($fichier))
+ .$texte
+ .""._T('bouton_annuler')." "
+ .bouton_suivant())
+ : generer_form_ecrire($redirect_form, $texte . bouton_suivant())
+ );
+ exit;
+
+ // 0 = rien, pas charge
+ // liste de fichiers = retour gagnant
+ // < 0 = erreur pclzip
+ // ----- Error codes
+ // -1 : Unable to open file in binary write mode
+ // -2 : Unable to open file in binary read mode
+ // -3 : Invalid parameters
+ // -4 : File does not exist
+ // -5 : Filename is too long (max. 255)
+ // -6 : Not a valid zip file
+ // -7 : Invalid extracted file size
+ // -8 : Unable to create directory
+ // -9 : Invalid archive extension
+ // -10 : Invalid archive format
+ // -11 : Unable to delete file (unlink)
+ // -12 : Unable to rename file (rename)
+ // -13 : Invalid header checksum
+ // -14 : Invalid archive size
+
+# redirige_par_entete($url_retour);
+}
+
+?>
diff --git a/www/ecrire/action/configurer.php b/www/ecrire/action/configurer.php
new file mode 100644
index 0000000..c0b2e7f
--- /dev/null
+++ b/www/ecrire/action/configurer.php
@@ -0,0 +1,53 @@
+ -1));
+ redirige_par_entete($r);
+}
+
+?>
diff --git a/www/ecrire/action/configurer_notifications_forum.php b/www/ecrire/action/configurer_notifications_forum.php
new file mode 100644
index 0000000..8b98d36
--- /dev/null
+++ b/www/ecrire/action/configurer_notifications_forum.php
@@ -0,0 +1,29 @@
+ $val) {
+ $name = 'prevenir_auteurs_' . $val;
+ if (_request($name)) $res[]=$val;
+ }
+ ecrire_meta('prevenir_auteurs', $res ? (','.join(',',$res).',') : 'non');
+}
+?>
diff --git a/www/ecrire/action/configurer_previsualiseur.php b/www/ecrire/action/configurer_previsualiseur.php
new file mode 100644
index 0000000..2135aa1
--- /dev/null
+++ b/www/ecrire/action/configurer_previsualiseur.php
@@ -0,0 +1,27 @@
+
diff --git a/www/ecrire/action/configurer_relayeur.php b/www/ecrire/action/configurer_relayeur.php
new file mode 100644
index 0000000..ceede20
--- /dev/null
+++ b/www/ecrire/action/configurer_relayeur.php
@@ -0,0 +1,38 @@
+
diff --git a/www/ecrire/action/confirmer_email.php b/www/ecrire/action/confirmer_email.php
new file mode 100644
index 0000000..8f553e3
--- /dev/null
+++ b/www/ecrire/action/confirmer_email.php
@@ -0,0 +1,35 @@
+$arg));
+ }
+ // verifier avant de rediriger pour invalider le message de confirmation
+ // si ca n'a pas marche
+ if ($redirect = _request('redirect') AND !$arg == sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.intval($GLOBALS['visiteur_session'])))
+ $GLOBALS['redirect'] = parametre_url($redirect, 'email_modif','');
+
+}
+
+?>
diff --git a/www/ecrire/action/converser.php b/www/ecrire/action/converser.php
new file mode 100644
index 0000000..ecfae24
--- /dev/null
+++ b/www/ecrire/action/converser.php
@@ -0,0 +1,63 @@
+ $lang), "id_auteur = " . $GLOBALS['visiteur_session']['id_auteur']);
+ $GLOBALS['visiteur_session']['lang'] = $lang;
+ $session = charger_fonction('session', 'inc');
+ if ($spip_session = $session($GLOBALS['visiteur_session'])) {
+ spip_setcookie(
+ 'spip_session',
+ $spip_session,
+ time() + 3600 * 24 * 14
+ );
+ }
+ }
+ action_converser_post($lang, 'spip_lang_ecrire');
+ }
+
+ $redirect = rawurldecode(_request('redirect'));
+
+ if (!$redirect) $redirect = _DIR_RESTREINT_ABS;
+ $redirect = parametre_url($redirect,'lang',$lang,'&');
+ redirige_par_entete($redirect, true);
+}
+
+// http://doc.spip.org/@action_converser_post
+function action_converser_post($lang, $ecrire=false)
+{
+ if ($lang) {
+ include_spip('inc/lang');
+ if (changer_langue($lang)) {
+ spip_setcookie('spip_lang', $_COOKIE['spip_lang'] = $lang, time() + 365 * 24 * 3600);
+ if ($ecrire)
+ spip_setcookie('spip_lang_ecrire', $_COOKIE['spip_lang_ecrire'] = $lang, time() + 365 * 24 * 3600);
+ }
+ }
+}
+?>
diff --git a/www/ecrire/action/cookie.php b/www/ecrire/action/cookie.php
new file mode 100644
index 0000000..9d71e8b
--- /dev/null
+++ b/www/ecrire/action/cookie.php
@@ -0,0 +1,81 @@
+
diff --git a/www/ecrire/action/copier_local.php b/www/ecrire/action/copier_local.php
new file mode 100644
index 0000000..8ce8334
--- /dev/null
+++ b/www/ecrire/action/copier_local.php
@@ -0,0 +1,71 @@
+$source]";
+
+ // $fichier contient IMG/distant/...
+ // or, dans la table documents, IMG doit etre exclu.
+ $fichier = set_spip_doc($fichier);
+ spip_log("convertit doc $id_document en local: $source => $fichier");
+ sql_updateq('spip_documents', array('fichier' =>$fichier, 'distant'=>'non', 'taille'=>$taille, 'descriptif'=> $row['descriptif']),"id_document=".$id_document);
+
+ } else {
+ spip_log("echec copie locale $source");
+ }
+}
+
+?>
diff --git a/www/ecrire/action/dater.php b/www/ecrire/action/dater.php
new file mode 100644
index 0000000..08d4523
--- /dev/null
+++ b/www/ecrire/action/dater.php
@@ -0,0 +1,93 @@
+'' AND $annee_redac < 1001)
+ $annee_redac += 9000;
+ }
+
+ $date = format_mysql_date($annee_redac, $mois_redac, $jour_redac, $heure_redac, $minute_redac);
+ include_spip('inc/modifier');
+ revision_article($r[1],array("date_redac" => $date));
+ }
+
+ // a priori fait doublon avec instituer_xx utilise dans dater_table()
+ // mais on laisse pour ne pas introduire de bug dans cette branche
+ if (($type == 'article')
+ AND $GLOBALS['meta']["post_dates"] == "non") {
+ $t = sql_fetsel("statut, id_rubrique", "spip_articles", "id_article=$id");
+ if ($t['statut'] == 'publie') {
+ include_spip('inc/rubriques');
+ if (strtotime($date) > time())
+ depublier_branche_rubrique_if($t['id_rubrique']);
+ else
+ publier_branche_rubrique($t['id_rubrique']);
+ calculer_prochain_postdate();
+ }
+ }
+}
+
+function dater_table($id, $type)
+{
+ $trouver_table = charger_fonction('trouver_table', 'base');
+ $nom = table_objet($type);
+ $desc = $trouver_table($nom);
+ $table = $desc['table'];
+ $col_id = @$desc['key']["PRIMARY KEY"];
+ if (!$table OR !$col_id) {
+ spip_log("action_dater: table $type ?");
+ return;
+ }
+ include_spip('public/interfaces');
+ $champ = @$GLOBALS['table_date'][$nom];
+ if (!$champ) $champ = 'date';
+ $date = format_mysql_date(_request('annee'), _request('mois'), _request('jour'), _request('heure'), _request('minute'));
+ // utiliser instituer_xx si dispo
+ if (include_spip('action/editer_'.$type) AND function_exists($f='instituer_'.$type)){
+ $f($id,array($champ => $date));
+ }
+ else
+ sql_updateq($table, array($champ => $date), "$col_id=$id");
+ return $date;
+}
+?>
diff --git a/www/ecrire/action/desinstaller_plugin.php b/www/ecrire/action/desinstaller_plugin.php
new file mode 100644
index 0000000..c6a4cf6
--- /dev/null
+++ b/www/ecrire/action/desinstaller_plugin.php
@@ -0,0 +1,47 @@
+
diff --git a/www/ecrire/action/documenter.php b/www/ecrire/action/documenter.php
new file mode 100644
index 0000000..63933e3
--- /dev/null
+++ b/www/ecrire/action/documenter.php
@@ -0,0 +1,90 @@
+ 0), "id_vignette=".$id_document);
+
+ pipeline('post_edition',
+ array(
+ 'args' => array(
+ 'operation' => 'delier_document',
+ 'table' => 'spip_documents',
+ 'id_objet' => $id_document,
+ 'objet' => $objet,
+ 'id' => $id_objet
+ ),
+ 'data' => null
+ )
+ );
+
+ // On supprime ensuite s'il est orphelin
+ // (autorisation verifiee dans l'action)
+ $supprimer_document = charger_fonction('supprimer_document','action');
+ return $supprimer_document($id_document);
+}
+
+// http://doc.spip.org/@action_documenter_post
+function action_documenter_post($r)
+{
+ // - sign indique le portfolio image ou document, dans le cas de
+ // la page exec=articles
+ // - id est l'id_objet (id_article ou id_rubrique etc)
+ // - type est 'article' (ou 'rubrique')
+ // - id_document le doc a supprimer ou a delier de l'objet
+ // SI VIDE, on supprime tous les documents du type SIGN
+ // (bouton "supprimer tous les documents")
+ list(, $sign, $id, $type, ,$id_document) = $r;
+
+ if ($id_document) {
+ supprimer_lien_document($id_document, $type, $id);
+ }
+ else {
+ $obj = "id_objet=".intval($id)." AND objet=".sql_quote($type);
+ $typdoc = sql_in('docs.extension', array('gif', 'jpg', 'png'), $sign ? '' : 'NOT');
+
+ $s = sql_select('docs.id_document AS id_doc', "spip_documents AS docs LEFT JOIN spip_documents_liens AS l ON l.id_document=docs.id_document", "$obj AND docs.mode='document' AND $typdoc");
+ while ($t = sql_fetch($s)) {
+ supprimer_lien_document($t['id_doc'], $type, $id);
+ }
+ }
+
+ if ($type == 'rubrique') {
+ include_spip('inc/rubriques');
+ depublier_branche_rubrique_if($id);
+ }
+}
+?>
diff --git a/www/ecrire/action/editer_article.php b/www/ecrire/action/editer_article.php
new file mode 100644
index 0000000..9f5eea8
--- /dev/null
+++ b/www/ecrire/action/editer_article.php
@@ -0,0 +1,364 @@
+ 0)
+
+ # cf. GROS HACK ecrire/inc/getdocument
+ # rattrapper les documents associes a cet article nouveau
+ # ils ont un id = 0-id_auteur
+
+ sql_updateq("spip_documents_liens", array("id_objet" => $id_article), array("id_objet = ".(0-$id_auteur),"objet='article'"));
+ }
+
+ // Enregistre l'envoi dans la BD
+ if ($id_article > 0) $err = articles_set($id_article);
+
+ if (_request('redirect')) {
+ $redirect = parametre_url(urldecode(_request('redirect')),
+ 'id_article', $id_article, '&') . $err;
+
+ include_spip('inc/headers');
+ redirige_par_entete($redirect);
+ }
+ else
+ return array($id_article,$err);
+}
+
+// Appelle toutes les fonctions de modification d'un article
+// $err est de la forme '&trad_err=1'
+// http://doc.spip.org/@articles_set
+function articles_set($id_article, $set=null) {
+ $err = '';
+
+ // unifier $texte en cas de texte trop long
+ trop_longs_articles();
+
+ $c = array();
+ foreach (array(
+ 'surtitre', 'titre', 'soustitre', 'descriptif',
+ 'nom_site', 'url_site', 'chapo', 'texte', 'ps'
+ ) as $champ)
+ $c[$champ] = _request($champ,$set);
+
+ if (_request('changer_virtuel',$set) == 'oui') {
+ $r = _request('virtuel',$set);
+ $c['chapo'] = (strlen($r) ? '='.$r : '');
+ }
+
+ include_spip('inc/modifier');
+ revision_article($id_article, $c);
+
+ // Modification de statut, changement de rubrique ?
+ $c = array();
+ foreach (array(
+ 'date', 'statut', 'id_parent'
+ ) as $champ)
+ $c[$champ] = _request($champ,$set);
+ $err .= instituer_article($id_article, $c);
+
+ // Un lien de trad a prendre en compte
+ $err .= article_referent($id_article, array('lier_trad' => _request('lier_trad',$set)));
+
+ return $err;
+}
+
+// http://doc.spip.org/@insert_article
+function insert_article($id_rubrique) {
+
+
+ // Si id_rubrique vaut 0 ou n'est pas definie, creer l'article
+ // dans la premiere rubrique racine
+ if (!$id_rubrique = intval($id_rubrique)) {
+ $row = sql_fetsel("id_rubrique, id_secteur, lang", "spip_rubriques", "id_parent=0",'', '0+titre,titre', "1");
+ $id_rubrique = $row['id_rubrique'];
+ } else $row = sql_fetsel("lang, id_secteur", "spip_rubriques", "id_rubrique=$id_rubrique");
+
+ $id_secteur = $row['id_secteur'];
+ $lang_rub = $row['lang'];
+
+ // La langue a la creation : si les liens de traduction sont autorises
+ // dans les rubriques, on essaie avec la langue de l'auteur,
+ // ou a defaut celle de la rubrique
+ // Sinon c'est la langue de la rubrique qui est choisie + heritee
+ if ($GLOBALS['meta']['multi_articles'] == 'oui') {
+ lang_select($GLOBALS['visiteur_session']['lang']);
+ if (in_array($GLOBALS['spip_lang'],
+ explode(',', $GLOBALS['meta']['langues_multilingue']))) {
+ $lang = $GLOBALS['spip_lang'];
+ $choisie = 'oui';
+ }
+ }
+
+ if (!$lang) {
+ $choisie = 'non';
+ $lang = $lang_rub ? $lang_rub : $GLOBALS['meta']['langue_site'];
+ }
+
+ $champs = array(
+ 'id_rubrique' => $id_rubrique,
+ 'id_secteur' => $id_secteur,
+ 'statut' => 'prepa',
+ 'date' => date('Y-m-d H:i:s'),
+ 'accepter_forum' =>
+ substr($GLOBALS['meta']['forums_publics'],0,3),
+ 'lang' => $lang,
+ 'langue_choisie' =>$choisie);
+
+ // Envoyer aux plugins
+ $champs = pipeline('pre_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_articles',
+ ),
+ 'data' => $champs
+ )
+ );
+
+ $id_article = sql_insertq("spip_articles", $champs);
+
+ pipeline('post_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_articles',
+ 'id_objet' => $id_article
+ ),
+ 'data' => $champs
+ )
+ );
+
+ // controler si le serveur n'a pas renvoye une erreur
+ if ($id_article > 0 AND $GLOBALS['visiteur_session']['id_auteur'])
+ sql_insertq('spip_auteurs_articles', array('id_auteur' => $GLOBALS['visiteur_session']['id_auteur'], 'id_article' => $id_article));
+
+ return $id_article;
+}
+
+
+// $c est un array ('statut', 'id_parent' = changement de rubrique)
+//
+// statut et rubrique sont lies, car un admin restreint peut deplacer
+// un article publie vers une rubrique qu'il n'administre pas
+// http://doc.spip.org/@instituer_article
+function instituer_article($id_article, $c, $calcul_rub=true) {
+
+ include_spip('inc/autoriser');
+ include_spip('inc/rubriques');
+ include_spip('inc/modifier');
+
+ $row = sql_fetsel("statut, date, id_rubrique", "spip_articles", "id_article=$id_article");
+ $id_rubrique = $row['id_rubrique'];
+ $statut_ancien = $statut = $row['statut'];
+ $date_ancienne = $date = $row['date'];
+ $champs = array();
+
+ $d = isset($c['date'])?$c['date']:null;
+ $s = isset($c['statut'])?$c['statut']:$statut;
+
+ // cf autorisations dans inc/instituer_article
+ if ($s != $statut OR ($d AND $d != $date)) {
+ if (autoriser('publierdans', 'rubrique', $id_rubrique))
+ $statut = $champs['statut'] = $s;
+ else if (autoriser('modifier', 'article', $id_article) AND $s != 'publie')
+ $statut = $champs['statut'] = $s;
+ else
+ spip_log("editer_article $id_article refus " . join(' ', $c));
+
+ // En cas de publication, fixer la date a "maintenant"
+ // sauf si $c commande autre chose
+ // ou si l'article est deja date dans le futur
+ // En cas de proposition d'un article (mais pas depublication), idem
+ if ($champs['statut'] == 'publie'
+ OR ($champs['statut'] == 'prop' AND ($d OR !in_array($statut_ancien, array('publie', 'prop'))))
+ ) {
+ if ($d OR strtotime($d=$date)>time())
+ $champs['date'] = $date = $d;
+ else
+ $champs['date'] = $date = date('Y-m-d H:i:s');
+ }
+ }
+
+ // Verifier que la rubrique demandee existe et est differente
+ // de la rubrique actuelle
+ if ($id_parent = $c['id_parent']
+ AND $id_parent != $id_rubrique
+ AND (sql_fetsel('1', "spip_rubriques", "id_rubrique=$id_parent"))) {
+ $champs['id_rubrique'] = $id_parent;
+
+ // si l'article etait publie
+ // et que le demandeur n'est pas admin de la rubrique
+ // repasser l'article en statut 'propose'.
+ if ($statut == 'publie'
+ AND !autoriser('publierdans', 'rubrique', $id_rubrique))
+ $champs['statut'] = 'prop';
+ }
+
+
+ // Envoyer aux plugins
+ $champs = pipeline('pre_edition',
+ array(
+ 'args' => array(
+ 'table' => 'spip_articles',
+ 'id_objet' => $id_article,
+ 'action'=>'instituer',
+ 'statut_ancien' => $statut_ancien,
+ ),
+ 'data' => $champs
+ )
+ );
+
+ if (!count($champs)) return;
+
+ // Envoyer les modifs.
+
+ editer_article_heritage($id_article, $id_rubrique, $statut_ancien, $champs, $calcul_rub);
+
+ // Invalider les caches
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_article/$id_article'");
+
+ if ($date) {
+ $t = strtotime($date);
+ $p = @$GLOBALS['meta']['date_prochain_postdate'];
+ if ($t > time() AND (!$p OR ($t < $p))) {
+ ecrire_meta('date_prochain_postdate', $t);
+ }
+ }
+
+ // Pipeline
+ pipeline('post_edition',
+ array(
+ 'args' => array(
+ 'table' => 'spip_articles',
+ 'id_objet' => $id_article,
+ 'action'=>'instituer',
+ 'statut_ancien' => $statut_ancien,
+ ),
+ 'data' => $champs
+ )
+ );
+
+ // Notifications
+ if ($notifications = charger_fonction('notifications', 'inc')) {
+ $notifications('instituerarticle', $id_article,
+ array('statut' => $statut, 'statut_ancien' => $statut_ancien, 'date'=>$date)
+ );
+ }
+
+ return ''; // pas d'erreur
+}
+
+// fabrique la requete de modification de l'article, avec champs herites
+
+// http://doc.spip.org/@editer_article_heritage
+function editer_article_heritage($id_article, $id_rubrique, $statut, $champs, $cond=true) {
+
+ // Si on deplace l'article
+ // changer aussi son secteur et sa langue (si heritee)
+ if (isset($champs['id_rubrique'])) {
+
+ $row_rub = sql_fetsel("id_secteur, lang", "spip_rubriques", "id_rubrique=".sql_quote($champs['id_rubrique']));
+
+ $langue = $row_rub['lang'];
+ $champs['id_secteur'] = $row_rub['id_secteur'];
+ if (sql_fetsel('1', 'spip_articles', "id_article=$id_article AND langue_choisie<>'oui' AND lang<>" . sql_quote($langue))) {
+ $champs['lang'] = $langue;
+ }
+ }
+
+ if (!$champs) return;
+
+ sql_updateq('spip_articles', $champs, "id_article=$id_article");
+
+ // Changer le statut des rubriques concernees
+
+ if ($cond) {
+ include_spip('inc/rubriques');
+ $postdate = ($GLOBALS['meta']["post_dates"] == "non" AND isset($champs['date']) AND (strtotime($champs['date']) < time()))?$champs['date']:false;
+ calculer_rubriques_if($id_rubrique, $champs, $statut, $postdate);
+ }
+}
+
+//
+// Reunit les textes decoupes parce que trop longs
+//
+
+// http://doc.spip.org/@trop_longs_articles
+function trop_longs_articles() {
+ if (is_array($plus = _request('texte_plus'))) {
+ foreach ($plus as $n=>$t) {
+ $plus[$n] = preg_replace(",[\n\r]*,","", $t);
+ }
+ set_request('texte', join('',$plus) . _request('texte'));
+ }
+}
+
+// Poser un lien de traduction vers un article de reference
+// http://doc.spip.org/@article_referent
+function article_referent ($id_article, $c) {
+
+ if (!$c = intval($c['lier_trad'])) return;
+
+ // selectionner l'article cible, qui doit etre different de nous-meme,
+ // et quitter s'il n'existe pas
+ $id_lier = sql_getfetsel('id_trad', 'spip_articles', "id_article=$c AND NOT(id_article=$id_article)");
+
+ if ($id_lier === NULL)
+ {
+ spip_log("echec lien de trad vers article incorrect ($lier_trad)");
+ return '&trad_err=1';
+ }
+
+ // $id_lier est le numero du groupe de traduction
+ // Si l'article vise n'est pas deja traduit, son identifiant devient
+ // le nouvel id_trad de ce nouveau groupe et on l'affecte aux deux
+ // articles
+ if ($id_lier == 0) {
+ sql_updateq("spip_articles", array("id_trad" => $c), "id_article IN ($c, $id_article)");
+ }
+ // sinon ajouter notre article dans le groupe
+ else {
+ sql_updateq("spip_articles", array("id_trad" => $id_lier), "id_article = $id_article");
+ }
+
+ return ''; // pas d'erreur
+}
+
+
+
+// obsolete, utiliser revision_article dans inc/modifier
+// http://doc.spip.org/@revisions_articles
+function revisions_articles ($id_article, $c=false) {
+ include_spip('inc/modifier');
+ return revision_article($id_article,$c);
+}
+
+
+?>
diff --git a/www/ecrire/action/editer_auteur.php b/www/ecrire/action/editer_auteur.php
new file mode 100644
index 0000000..ca18c09
--- /dev/null
+++ b/www/ecrire/action/editer_auteur.php
@@ -0,0 +1,245 @@
+ 0){
+
+ # cf. GROS HACK
+ # recuperer l'eventuel logo charge avant la creation
+ # ils ont un id = 0-id_auteur de la session
+ $id_hack = 0 - $GLOBALS['visiteur_session']['id_auteur'];
+ $chercher_logo = charger_fonction('chercher_logo', 'inc');
+ if (list($logo) = $chercher_logo($id_hack, 'id_auteur', 'on'))
+ rename($logo, str_replace($id_hack, $id_auteur, $logo));
+ if (list($logo) = $chercher_logo($id_hack, 'id_auteur', 'off'))
+ rename($logo, str_replace($id_hack, $id_auteur, $logo));
+ }
+ }
+
+ // Enregistre l'envoi dans la BD
+ if ($id_auteur > 0)
+ $err = auteurs_set($id_auteur);
+
+ if ($redirect = _request('redirect')) {
+ if ($err){
+ $ret = ('&redirect=' . $redirect);
+ spip_log("echec editeur auteur: " . join(' ',$echec));
+ $echec = '&echec=' . join('@@@', $echec);
+ $redirect = generer_url_ecrire('auteur_infos',"id_auteur=$id_auteur$echec$ret",'&');
+ }
+ else
+ $redirect = urldecode($redirect);
+
+ $redirect = parametre_url($redirect,'id_auteur', $id_auteur, '&');
+
+ include_spip('inc/headers');
+ redirige_par_entete($redirect);
+ }
+ else
+ return array($id_auteur,$err);
+
+ $redirect = _request('redirect');
+
+}
+
+function insert_auteur($source=null) {
+
+ // Ce qu'on va demander comme modifications
+ $champs = array();
+ $champs['source'] = $source?$source:'spip';
+
+ $champs['login'] = '';
+ $champs['statut'] = '5poubelle'; // inutilisable tant qu'il n'a pas ete renseigne et institue
+ $champs['webmestre'] = 'non';
+
+ // Envoyer aux plugins
+ $champs = pipeline('pre_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_auteurs',
+ ),
+ 'data' => $champs
+ )
+ );
+ $id_auteur = sql_insertq("spip_auteurs", $champs);
+ pipeline('post_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_auteurs',
+ 'id_objet' => $id_auteur
+ ),
+ 'data' => $champs
+ )
+ );
+ return $id_auteur;
+}
+
+
+// Appelle toutes les fonctions de modification d'un auteur
+function auteurs_set($id_auteur, $set = null) {
+ $err = '';
+
+ if (is_null($set)){
+ $c = array();
+ foreach (array(
+ 'nom','email','bio',
+ 'nom_site','url_site',
+ 'imessage','pgp',
+ ) as $champ)
+ $c[$champ] = _request($champ,$set);
+ }
+ else{
+ $c = $set;
+ unset($c['webmestre']);
+ unset($c['pass']);
+ unset($c['login']);
+ }
+
+ include_spip('inc/modifier');
+ revision_auteur($id_auteur, $c);
+
+ // Modification de statut, changement de rubrique ?
+ $c = array();
+ foreach (array(
+ 'statut', 'new_login','new_pass','login','pass','webmestre','restreintes','id_parent'
+ ) as $champ)
+ if (_request($champ,$set))
+ $c[preg_replace(',^new_,','',$champ)] = _request($champ,$set);
+
+ $err .= instituer_auteur($id_auteur, $c);
+
+ // Un lien auteur a prendre en compte ?
+ $err .= auteur_referent($id_auteur, array('article' => _request('lier_id_article',$set)));
+
+ return $err;
+}
+
+function auteur_referent($id_auteur,$c){
+ foreach($c as $objet => $id_objet){
+ if ($id_objet=intval($id_objet)){
+ $table = table_objet($objet);
+ $primary = id_table_objet($objet);
+ // Lier a un article sur lequel on a une liaison possible
+ if (in_array($table, array('articles','rubriques','messages'))){
+ sql_insertq("spip_auteurs_$table", array($primary => $id_objet, 'id_auteur' =>$id_auteur));
+ }
+ }
+ }
+
+ return ''; // pas d'erreur
+}
+
+// http://doc.spip.org/@instituer_auteur
+function instituer_auteur($id_auteur, $c) {
+ if (!$id_auteur=intval($id_auteur))
+ return false;
+ // commencer par traiter les cas particuliers des logins et pass
+ // avant le changement de statut eventuel
+ if (isset($c['login']) OR isset($c['pass'])){
+ $auth_methode = sql_getfetsel('source','spip_auteurs','id_auteur='.intval($id_auteur));
+ include_spip('inc/auth');
+ if (isset($c['login']))
+ auth_modifier_login($auth_methode, $c['login'], $id_auteur);
+ if (isset($c['pass'])){
+ $c['login'] = sql_getfetsel('login','spip_auteurs','id_auteur='.intval($id_auteur));
+ auth_modifier_pass($auth_methode, $c['login'], $c['pass'], $id_auteur);
+ }
+ }
+
+
+ $champs = array();
+ $statut = $statut_ancien = sql_getfetsel('statut','spip_auteurs','id_auteur='.intval($id_auteur));
+
+ if (isset($c['statut'])
+ AND (($statut_ancien == 'nouveau') OR autoriser('modifier', 'auteur', $id_auteur,null, array('statut' => '?'))))
+ $statut = $champs['statut'] = $c['statut'];
+
+ // Restreindre avant de declarer l'auteur
+ // (section critique sur les droits)
+ if ($c['id_parent']) {
+ if (is_array($c['restreintes']))
+ $c['restreintes'][] = $c['id_parent'];
+ else
+ $c['restreintes'] = array($c['id_parent']);
+ }
+
+ if (isset($c['webmestre'])
+ AND autoriser('modifier', 'auteur', $id_auteur,null, array('webmestre' => '?')))
+ $champs['webmestre'] = $c['webmestre']=='oui'?'oui':'non';
+
+ // Envoyer aux plugins
+ $champs = pipeline('pre_edition',
+ array(
+ 'args' => array(
+ 'table' => 'spip_auteurs',
+ 'id_objet' => $id_auteur,
+ 'action' => 'instituer',
+ ),
+ 'data' => $champs
+ )
+ );
+
+ if (is_array($c['restreintes'])
+ AND autoriser('modifier', 'auteur', $id_auteur, NULL, array('restreint'=>$c['restreintes']))) {
+ sql_delete("spip_auteurs_rubriques", "id_auteur=".sql_quote($id_auteur));
+ foreach (array_unique($c['restreintes']) as $id_rub)
+ if ($id_rub = intval($id_rub)) // si '0' on ignore
+ sql_insertq('spip_auteurs_rubriques', array('id_auteur' => $id_auteur, 'id_rubrique'=>$id_rub));
+ }
+
+ if (!count($champs)) return;
+ sql_updateq('spip_auteurs', $champs , 'id_auteur='.$id_auteur);
+ include_spip('inc/modifier');
+ sql_updateq('spip_auteurs',$champs,'id_auteur='.$id_auteur);
+
+ // Invalider les caches
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_auteur/$id_auteur'");
+
+ // Pipeline
+ pipeline('post_edition',
+ array(
+ 'args' => array(
+ 'table' => 'spip_auteurs',
+ 'id_objet' => $id_auteur,
+ 'action' => 'instituer',
+ ),
+ 'data' => $champs
+ )
+ );
+
+ // Notifications
+ if ($notifications = charger_fonction('notifications', 'inc')) {
+ $notifications('instituerauteur', $id_auteur,
+ array('statut' => $statut, 'statut_ancien' => $statut_ancien)
+ );
+ }
+
+ return ''; // pas d'erreur
+
+}
+
+
+?>
diff --git a/www/ecrire/action/editer_auteurs.php b/www/ecrire/action/editer_auteurs.php
new file mode 100644
index 0000000..2ab21fb
--- /dev/null
+++ b/www/ecrire/action/editer_auteurs.php
@@ -0,0 +1,133 @@
+ 16)
+ redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=-1" . $ancre);
+ elseif (!$n)
+ # Recherche vide (mais faite). Le signaler
+ redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=" . $ancre);
+ else
+ # renvoyer un formulaire de choix
+ redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=" . join(',',$res) . $ancre);
+
+ } else {
+ include_spip('inc/actions');
+ ajax_retour("action_editer_auteur: $arg faux");exit;
+ }
+ } else spip_log("action_editer_auteur: $arg pas compris");
+}
+
+// http://doc.spip.org/@supprimer_auteur_et_rediriger
+function supprimer_auteur_et_rediriger($type, $id, $id_auteur, $redirect)
+{
+ $jointure = table_jointure('auteur', $type);
+ if (preg_match(',^[a-z]*$,',$type)){
+ sql_delete("spip_{$jointure}", "id_auteur=".sql_quote($id_auteur)." AND id_{$type}=".sql_quote($id));
+
+ // Notifications, gestion des revisions, reindexation...
+ pipeline('post_edition',
+ array(
+ 'args' => array(
+ 'operation' => 'supprimer_auteur',
+ 'table' => table_objet_sql($type),
+ 'id_objet' => $id
+ ),
+ 'data' => null
+ )
+ );
+ }
+
+ if ($redirect) redirige_par_entete($redirect);
+}
+
+// http://doc.spip.org/@ajouter_auteur_et_rediriger
+function ajouter_auteur_et_rediriger($type, $id, $id_auteur, $redirect)
+{
+ $jointure = table_jointure('auteur', $type);
+ if (preg_match(',^[a-z]*$,',$type)){
+ $res = sql_fetsel("id_$type", "spip_{$jointure}", "id_auteur=" . sql_quote($id_auteur) . " AND id_{$type}=" . $id);
+ if (!$res) {
+ sql_insertq("spip_{$jointure}",
+ array('id_auteur' => $id_auteur,
+ "id_$type" => $id));
+ }
+ // Notifications, gestion des revisions, reindexation...
+ pipeline('post_edition',
+ array(
+ 'args' => array(
+ 'operation' => 'ajouter_auteur',
+ 'table' => table_objet_sql($type),
+ 'id_objet' => $id
+ ),
+ 'data' => null
+ )
+ );
+ }
+
+ if ($redirect) redirige_par_entete($redirect);
+}
+
+// http://doc.spip.org/@rechercher_auteurs
+function rechercher_auteurs($cherche_auteur)
+{
+ include_spip('inc/mots');
+ include_spip('inc/charsets'); // pour tranlitteration
+ $result = sql_select("id_auteur, nom", "spip_auteurs");
+ $table_auteurs = array();
+ $table_ids = array();
+ while ($row = sql_fetch($result)) {
+ $table_auteurs[] = $row["nom"];
+ $table_ids[] = $row["id_auteur"];
+ }
+ return mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids);
+}
+
+?>
diff --git a/www/ecrire/action/editer_breve.php b/www/ecrire/action/editer_breve.php
new file mode 100644
index 0000000..85b5c24
--- /dev/null
+++ b/www/ecrire/action/editer_breve.php
@@ -0,0 +1,214 @@
+ $id_rubrique,
+ 'statut' => 'prop',
+ 'date_heure' => date('Y-m-d H:i:s'),
+ 'lang' => $lang,
+ 'langue_choisie' => 'non');
+
+ // Envoyer aux plugins
+ $champs = pipeline('pre_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_breves',
+ ),
+ 'data' => $champs
+ )
+ );
+ $id_breve = sql_insertq("spip_breves", $champs);
+ pipeline('post_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_breves',
+ 'id_objet' => $id_breve
+ ),
+ 'data' => $champs
+ )
+ );
+ return $id_breve;
+}
+
+
+// Enregistre une revision de breve
+// $c est un contenu (par defaut on prend le contenu via _request())
+// http://doc.spip.org/@revisions_breves
+function revisions_breves ($id_breve, $c=false) {
+
+ // champs normaux
+ if ($c === false) {
+ $c = array();
+ foreach (array(
+ 'titre', 'texte', 'lien_titre', 'lien_url',
+ 'id_parent', 'statut'
+ ) as $champ)
+ if (($a = _request($champ)) !== null)
+ $c[$champ] = $a;
+ }
+
+ // Si la breve est publiee, invalider les caches et demander sa reindexation
+ $t = sql_getfetsel("statut", "spip_breves", "id_breve=$id_breve");
+ if ($t == 'publie') {
+ $invalideur = "id='id_breve/$id_breve'";
+ $indexation = true;
+ }
+
+ include_spip('inc/modifier');
+ modifier_contenu('breve', $id_breve,
+ array(
+ 'nonvide' => array('titre' => _T('info_sans_titre')),
+ 'invalideur' => $invalideur,
+ 'indexation' => $indexation
+ ),
+ $c);
+
+
+ // Changer le statut de la breve ?
+ $row = sql_fetsel("statut, id_rubrique,lang, langue_choisie", "spip_breves", "id_breve=$id_breve");
+
+ $id_rubrique = $row['id_rubrique'];
+ $statut_ancien = $statut = $row['statut'];
+ $langue_old = $row['lang'];
+ $langue_choisie_old = $row['langue_choisie'];
+
+ if (_request('statut', $c)
+ AND _request('statut', $c) != $statut
+ AND autoriser('publierdans', 'rubrique', $id_rubrique)) {
+ $statut = $champs['statut'] = _request('statut', $c);
+ }
+
+ // Changer de rubrique ?
+ // Verifier que la rubrique demandee est a la racine et differente
+ // de la rubrique actuelle
+ if ($id_parent = intval(_request('id_parent', $c))
+ AND $id_parent != $id_rubrique
+ AND (NULL !== ($lang=sql_getfetsel('lang', 'spip_rubriques', "id_parent=0 AND id_rubrique=$id_parent")))) {
+ $champs['id_rubrique'] = $id_parent;
+ // - changer sa langue (si heritee)
+ if ($langue_choisie_old != "oui") {
+ if ($lang != $langue_old)
+ $champs['lang'] = $lang;
+ }
+ // si la breve est publiee
+ // et que le demandeur n'est pas admin de la rubrique
+ // repasser la breve en statut 'prop'.
+ if ($statut == 'publie') {
+ if (!autoriser('publierdans','rubrique',$id_parent))
+ $champs['statut'] = $statut = 'prop';
+ }
+ }
+
+ if (!$champs) return;
+
+ sql_updateq('spip_breves', $champs, "id_breve=$id_breve");
+
+ //
+ // Post-modifications
+ //
+
+ // Invalider les caches
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_breve/$id_breve'");
+
+ // Au besoin, changer le statut des rubriques concernees
+ include_spip('inc/rubriques');
+ calculer_rubriques_if($id_rubrique, $champs, $statut_ancien);
+
+ // Notifications
+ if ($notifications = charger_fonction('notifications', 'inc')) {
+ $notifications('instituerbreve', $id_breve,
+ array('statut' => $statut, 'statut_ancien' => $statut_ancien)
+ );
+ }
+
+}
+
+// http://doc.spip.org/@revisions_breves_langue
+function revisions_breves_langue($id_breve, $id_rubrique, $changer_lang)
+{
+ if ($changer_lang == "herit") {
+ $row = sql_fetsel("lang", "spip_rubriques", "id_rubrique=$id_rubrique");
+ $langue_parent = $row['lang'];
+ sql_updateq('spip_breves', array('lang'=>$langue_parent, 'langue_choisie'=>'non'), "id_breve=$id_breve");
+ } else {
+ sql_updateq('spip_breves', array('lang'=>$changer_lang, 'langue_choisie'=>'oui'), "id_breve=$id_breve");
+ include_spip('inc/rubriques');
+ $langues = calculer_langues_utilisees();
+ ecrire_meta('langues_utilisees', $langues);
+ }
+
+}
+
+?>
diff --git a/www/ecrire/action/editer_groupe_mot.php b/www/ecrire/action/editer_groupe_mot.php
new file mode 100644
index 0000000..3466498
--- /dev/null
+++ b/www/ecrire/action/editer_groupe_mot.php
@@ -0,0 +1,57 @@
+
diff --git a/www/ecrire/action/editer_message.php b/www/ecrire/action/editer_message.php
new file mode 100644
index 0000000..f02d531
--- /dev/null
+++ b/www/ecrire/action/editer_message.php
@@ -0,0 +1,214 @@
+'message','id'=>$id_message)
+ ));
+}
+
+// http://doc.spip.org/@action_editer_message_post_vu
+function action_editer_message_post_vu($id_message, $id_auteur) {
+ sql_updateq("spip_auteurs_messages", array("vu" => 'oui'), "id_message=$id_message AND id_auteur=$id_auteur");
+
+}
+
+// http://doc.spip.org/@action_editer_message_post_retirer
+function action_editer_message_post_retirer($id_message, $id_auteur) {
+ sql_delete("spip_auteurs_messages", "id_message=$id_message AND id_auteur=$id_auteur");
+}
+
+// http://doc.spip.org/@action_editer_message_post_ajouter
+function action_editer_message_post_ajouter($id_message, $id_auteur) {
+
+ sql_delete("spip_auteurs_messages", "id_auteur=$id_auteur AND id_message=$id_message");
+ sql_insertq('spip_auteurs_messages',
+ array('id_auteur' => $id_auteur,
+ 'id_message' => $id_message,
+ 'vu' =>'non'));
+
+ // Ne pas notifier ici, car si on se trompe d'auteur, on veut avoir le temps
+ // de supprimer celui qu'on vient d'ajouter... c'est fait en cron
+}
+
+// http://doc.spip.org/@action_editer_message_post_choisir
+function action_editer_message_post_choisir($id_message) {
+
+ if ($id_auteur = _request('nouv_auteur'))
+ action_editer_message_post_ajouter($id_message, $id_auteur);
+ else {
+ include_spip('inc/mots');
+ include_spip('inc/charsets'); // pour tranlitteration
+ $id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
+ $cherche_auteur= _request('cherche_auteur');
+ $query = sql_select("id_auteur, nom", "spip_auteurs", "messagerie<>'non' AND pass<>'' AND login<>'' AND id_auteur<>" . sql_quote($id_auteur));
+ $table_auteurs = array();
+ $table_ids = array();
+ while ($row = sql_fetch($query)) {
+ $table_auteurs[] = $row['nom'];
+ $table_ids[] = $row['id_auteur'];
+ }
+ $res = mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids);
+ $n = count($res);
+
+ if ($n == 1)
+ # Bingo
+ action_editer_message_post_ajouter($id_message, $res[0]);
+ # renvoyer la valeur ==> formulaire de choix si n !=1
+ # notification que $res[0] a ete rajoute sinon
+ redirige_par_entete(parametre_url(urldecode(_request('redirect')),
+ 'cherche_auteur', $cherche_auteur, '&'));
+ }
+}
+
+
+// http://doc.spip.org/@action_editer_message_post_envoyer
+function action_editer_message_post_envoyer($id_message, $statut) {
+
+ sql_updateq("spip_messages", array("statut" => $statut), "id_message=$id_message");
+ sql_updateq("spip_messages", array("date_heure" => date('Y-m-d H:i:s')), "id_message=$id_message AND rv<>'oui'");
+}
+
+// http://doc.spip.org/@action_editer_message_post_nouveau
+function action_editer_message_post_nouveau($type, $dest='', $rv='')
+{
+
+ $id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
+
+ $mydate = date("YmdHis", time() - 2 * 24 * 3600);
+ sql_delete("spip_messages", "(statut = 'redac') AND (date_heure < $mydate)");
+
+ if ($type == 'pb') $statut = 'publie';
+ else $statut = 'redac';
+
+ $titre = filtrer_entites(_T('texte_nouveau_message'));
+
+ $vals = array('titre' => $titre,
+ 'statut' => $statut,
+ 'type' => $type,
+ 'id_auteur' => $id_auteur);
+
+ if (!$rv)
+ $vals['date_heure'] = date('Y-m-d H:i:s');
+ else {
+ $vals['date_heure'] = "$rv 12:00:00";
+ $vals['date_fin'] = "$rv 13:00:00";
+ $vals['rv'] = 'oui';
+ }
+
+ $id_message = sql_insertq("spip_messages", $vals);
+
+ if ($type != "affich"){
+ sql_insertq('spip_auteurs_messages',
+ array('id_auteur' => $id_auteur,
+ 'id_message' => $id_message,
+ 'vu' =>'oui'));
+ if ($dest) {
+ sql_insertq('spip_auteurs_messages',
+ array('id_auteur' => $dest,
+ 'id_message' => $id_message,
+ 'vu' =>'non'));
+ }
+ }
+
+ redirige_url_ecrire('message_edit', "id_message=$id_message&new=oui&dest=$dest");
+}
+
+// http://doc.spip.org/@action_editer_message_post_vieux
+function action_editer_message_post_vieux($id_message)
+{
+ sql_updateq('spip_messages', array('titre'=>_request('titre'), 'texte' => _request('texte')), "id_message=$id_message");
+
+ sql_updateq('spip_messages', array('rv' => _request('rv')), "id_message=$id_message");
+
+ if (_request('jour'))
+ change_date_message($id_message, _request('heures'),_request('minutes'),_request('mois'), _request('jour'), _request('annee'), _request('heures_fin'),_request('minutes_fin'),_request('mois_fin'), _request('jour_fin'), _request('annee_fin'));
+ action_editer_message_post_choisir($id_message);
+}
+
+
+// Convertir dates a calendrier correct
+// (exemple: 31 fevrier devient debut mars, 24h12 devient 00h12 du lendemain)
+
+// http://doc.spip.org/@change_date_message
+function change_date_message($id_message, $heures,$minutes,$mois, $jour, $annee, $heures_fin,$minutes_fin,$mois_fin, $jour_fin, $annee_fin)
+{
+ $date = date("Y-m-d H:i:s", mktime($heures,$minutes,0,$mois, $jour, $annee));
+
+ $jour = journum($date);
+ $mois = mois($date);
+ $annee = annee($date);
+ $heures = heures($date);
+ $minutes = minutes($date);
+
+ // Verifier que la date de fin est bien posterieure au debut
+ $unix_debut = date("U", mktime($heures,$minutes,0,$mois, $jour, $annee));
+ $unix_fin = date("U", mktime($heures_fin,$minutes_fin,0,$mois_fin, $jour_fin, $annee_fin));
+ if ($unix_fin <= $unix_debut) {
+ $jour_fin = $jour;
+ $mois_fin = $mois;
+ $annee_fin = $annee;
+ $heures_fin = $heures + 1;
+ $minutes_fin = $minutes;
+ }
+
+ $date_fin = date("Y-m-d H:i:s", mktime($heures_fin,$minutes_fin,0,$mois_fin, $jour_fin, $annee_fin));
+
+ $jour_fin = journum($date_fin);
+ $mois_fin = mois($date_fin);
+ $annee_fin = annee($date_fin);
+ $heures_fin = heures($date_fin);
+ $minutes_fin = minutes($date_fin);
+
+ sql_updateq('spip_messages', array('date_heure'=>"$annee-$mois-$jour $heures:$minutes:00", 'date_fin'=>"$annee_fin-$mois_fin-$jour_fin $heures_fin:$minutes_fin:00"), "id_message=$id_message");
+}
+
+?>
diff --git a/www/ecrire/action/editer_mot.php b/www/ecrire/action/editer_mot.php
new file mode 100644
index 0000000..7f9ce80
--- /dev/null
+++ b/www/ecrire/action/editer_mot.php
@@ -0,0 +1,49 @@
+ $id_groupe));
+ }
+
+ // modifier le contenu via l'API
+ include_spip('inc/modifier');
+
+ $c = array();
+ foreach (array(
+ 'titre', 'descriptif', 'texte', 'id_groupe'
+ ) as $champ)
+ $c[$champ] = _request($champ);
+
+ revision_mot($id_mot, $c);
+ if ($redirect = _request('redirect')) {
+ include_spip('inc/headers');
+ redirige_par_entete(parametre_url(urldecode($redirect),
+ 'id_mot', $id_mot, '&'));
+ } else
+ return array($id_mot,'');
+}
+?>
diff --git a/www/ecrire/action/editer_mots.php b/www/ecrire/action/editer_mots.php
new file mode 100644
index 0000000..3e73e7e
--- /dev/null
+++ b/www/ecrire/action/editer_mots.php
@@ -0,0 +1,96 @@
+'mot','id'=>$id_mot)
+ )
+ );
+ }
+ }
+ if ($nouv_mot ? $nouv_mot : ($nouv_mot = _request('nouv_mot'))) {
+ // recopie de:
+ // inserer_mot("spip_mots_$table", $table_id, $id_objet, $nouv_mot);
+ $result = sql_countsel("spip_mots_$table", "id_mot=".intval($nouv_mot)." AND $table_id=$id_objet");
+ if (!$result)
+ sql_insertq("spip_mots_$table", array('id_mot' => $nouv_mot, $table_id =>$id_objet));
+ }
+
+ // Notifications, gestion des revisions, reindexation...
+ if ($table)
+ pipeline('post_edition',
+ array(
+ 'args' => array(
+ 'operation' => 'editer_mots',
+ 'table' => 'spip_'.$table,
+ 'id_objet' => $id_objet
+ ),
+ 'data' => null
+ )
+ );
+
+ $redirect = rawurldecode($redirect);
+
+ // hack du retour croise editer/grouper
+
+ if (preg_match('/^(.*exec=)editer_mots(&.*)script=(grouper_mots)(.*)$/', $redirect, $r))
+ $redirect = $r[1] . $r[3] . $r[2] . $r[4];
+ if (preg_match(',exec=grouper_mots,',$redirect)){
+ // mettre a jour le total de mots dans la liste pour eviter les pb de cache navigateur avec ajax
+ $id_groupe = parametre_url($redirect,'id_groupe'); // recuperer l'id_groupe dans l'url
+ $groupe = sql_countsel("spip_mots", "id_groupe=".sql_quote($id_groupe));
+ $redirect = parametre_url($redirect,'total',$groupe,'&');
+ }
+
+ if ($cherche_mot) {
+ if ($p = strpos($redirect, '#')) {
+ $a = substr($redirect,$p);
+ $redirect = substr($redirect,0,$p);
+ } else $a='';
+ $redirect .= "&cherche_mot=".urlencode($cherche_mot)
+ ."&select_groupe=$select_groupe$a";
+ }
+ redirige_par_entete($redirect);
+}
+?>
diff --git a/www/ecrire/action/editer_rubrique.php b/www/ecrire/action/editer_rubrique.php
new file mode 100644
index 0000000..ac0ac2c
--- /dev/null
+++ b/www/ecrire/action/editer_rubrique.php
@@ -0,0 +1,184 @@
+ _T('item_nouvelle_rubrique'),
+ 'id_parent' => intval($id_parent),
+ 'statut' => 'new');
+
+ // Envoyer aux plugins
+ $champs = pipeline('pre_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_rubriques',
+ ),
+ 'data' => $champs
+ )
+ );
+
+ $id_rubrique = sql_insertq("spip_rubriques", $champs);
+ pipeline('post_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_rubriques',
+ 'id_objet' => $id_rubrique
+ ),
+ 'data' => $champs
+ )
+ );
+ propager_les_secteurs();
+ calculer_langues_rubriques();
+ return $id_rubrique;
+}
+
+// Enregistrer certaines modifications d'une rubrique
+// $c est un tableau qu'on peut proposer en lieu et place de _request()
+// http://doc.spip.org/@revisions_rubriques
+function revisions_rubriques($id_rubrique, $c=false) {
+ include_spip('inc/autoriser');
+ include_spip('inc/filtres');
+
+ // champs normaux
+ if ($c === false) {
+ $c = array();
+ foreach (array(
+ 'titre', 'texte', 'descriptif', 'extra',
+ 'id_parent', 'confirme_deplace'
+ ) as $champ)
+ if (($a = _request($champ)) !== null)
+ $c[$champ] = $a;
+ }
+
+ include_spip('inc/modifier');
+ modifier_contenu('rubrique', $id_rubrique,
+ array(
+ 'nonvide' => array('titre' => _T('info_sans_titre'))
+ ),
+ $c);
+
+ // Deplacer la rubrique
+ if (isset($c['id_parent'])) {
+ $c['confirme_deplace'] = _request('confirme_deplace', $c);
+ instituer_rubrique($id_rubrique, $c);
+ }
+
+ // invalider les caches marques de cette rubrique
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_rubrique/$id_rubrique'");
+ // et celui de menu_rubriques
+ effacer_meta("date_calcul_rubriques");
+}
+
+// si c'est une rubrique-secteur contenant des breves, ne deplacer
+// que si $confirme_deplace == 'oui', et changer l'id_rubrique des
+// breves en question
+
+// http://doc.spip.org/@editer_rubrique_breves
+function editer_rubrique_breves($id_rubrique, $id_parent, $c=false)
+{
+ if (!sql_countsel('spip_breves', "id_rubrique=$id_rubrique"))
+ return true;
+
+ if ($c['confirme_deplace'] != 'oui')
+ return false;
+
+ if ($id_secteur = sql_getfetsel("id_secteur",
+ "spip_rubriques", "id_rubrique=$id_parent"))
+ sql_updateq("spip_breves", array("id_rubrique" => $id_secteur), "id_rubrique=$id_rubrique");
+
+ return true;
+}
+
+
+// http://doc.spip.org/@instituer_rubrique
+function instituer_rubrique($id_rubrique, $c) {
+ // traitement de la rubrique parente
+ // interdiction de deplacer vers ou a partir d'une rubrique
+ // qu'on n'administre pas.
+
+ $statut_ancien = $parent = '';
+ if (NULL !== ($id_parent = $c['id_parent'])) {
+ $id_parent = intval($id_parent);
+ $filles = calcul_branche($id_rubrique);
+ if (strpos(",$id_parent,", ",$filles,") !== false)
+ spip_log("La rubrique $id_rubrique ne peut etre fille de sa descendante $id_parent");
+ else {
+ $s = sql_fetsel("id_parent, statut", "spip_rubriques", "id_rubrique=$id_rubrique");
+ $old_parent = $s['id_parent'];
+
+ if (!($id_parent != $old_parent
+ AND autoriser('publierdans', 'rubrique', $id_parent)
+ AND autoriser('creerrubriquedans', 'rubrique', $id_parent)
+ AND autoriser('publierdans', 'rubrique', $old_parent)
+ )) {
+ if ($s['statut'] != 'new') {
+ spip_log("deplacement de $id_rubrique vers $id_parent refuse a " . $GLOBALS['visiteur_session']['id_auteur'] . ' '. $GLOBALS['visiteur_session']['statut']);
+ }
+ } elseif (editer_rubrique_breves($id_rubrique, $id_parent, $c)) {
+ $statut_ancien = $s['statut'];
+ sql_updateq('spip_rubriques', array('id_parent' => $id_parent), "id_rubrique=$id_rubrique");
+
+
+ propager_les_secteurs();
+
+ // Deplacement d'une rubrique publiee ==> chgt general de leur statut
+ if ($statut_ancien == 'publie')
+ calculer_rubriques_if($old_parent, array('id_rubrique' => $id_parent), $statut_ancien);
+ // Creation ou deplacement d'une rubrique non publiee
+ // invalider le cache de leur menu
+ elseif (!$statut_ancien || $old_parent!=$id_parent)
+ effacer_meta("date_calcul_rubriques");
+
+ calculer_langues_rubriques();
+
+ return true;
+ }
+ }
+ }
+}
diff --git a/www/ecrire/action/editer_signatures.php b/www/ecrire/action/editer_signatures.php
new file mode 100644
index 0000000..fc0781b
--- /dev/null
+++ b/www/ecrire/action/editer_signatures.php
@@ -0,0 +1,67 @@
+ 'poubelle'), "id_signature=$id");
+
+ } elseif ($id > 0){
+ $row = sql_fetsel('*', 'spip_signatures', "id_signature=$id");
+ if ($row['statut']=='poubelle')
+ sql_updateq("spip_signatures", array("statut" => 'publie'), "id_signature=$id");
+ else {
+ include_spip('formulaires/signature');
+ include_spip('inc/texte');
+
+ $id_article = $row['id_article'];
+
+ $url = generer_url_entite_absolue($id_article, 'article','','',true);
+ if (signature_a_confirmer($id_article, $url, $row['nom_email'], $row['ad_email'], $row['nom_site'], $row['url_site'], $row['message'], $row['lang'], $row['statut']))
+ sql_updateq("spip_signatures", array("date_time" => date('Y-m-d H:i:s')), "id_signature=$id");
+ $id = 0;
+ }
+
+ }
+
+ // Invalider les pages ayant trait aux petitions
+ if ($id) {
+ include_spip('inc/invalideur');
+ $id_article = sql_getfetsel("id_article", "spip_signatures", "id_signature=$id");
+ suivre_invalideur("id='varia/pet$id_article'");
+ }
+
+ # cette requete devrait figurer dans l'optimisation
+ sql_delete("spip_signatures", "NOT (statut='publie' OR statut='poubelle') AND date_time
diff --git a/www/ecrire/action/editer_site.php b/www/ecrire/action/editer_site.php
new file mode 100644
index 0000000..14a7e98
--- /dev/null
+++ b/www/ecrire/action/editer_site.php
@@ -0,0 +1,290 @@
+ $auto['descriptif']));
+ }
+ if (!$logo
+ AND $auto['logo'] AND $auto['format_logo'])
+ @rename($auto['logo'],
+ _DIR_IMG . 'siteon'.$id_syndic.'.'.$auto['format_logo']);
+ }
+ $resyndiquer = true;
+ }
+ }
+
+ if ($resyndiquer) {
+ // ah si PHP connaisait les fermetures...
+ // A la place, une constante utilisee exclusivement
+ // dans la fct suivante.
+ define('_GENIE_SYNDIC_NOW', $id_syndic);
+ // forcer l'execution immediate de cette tache
+ // (i.e. appeler la fct suivante avec gestion du verrou)
+ cron(0, array('syndic' => -91));
+ }
+ if (_request('redirect')) {
+ $redirect = parametre_url(urldecode(_request('redirect')),
+ 'id_syndic', $id_syndic, '&');
+ include_spip('inc/headers');
+ redirige_par_entete($redirect);
+ }
+ else
+ return array($id_syndic,'');
+}
+
+// Cette fonction redefinit la tache standard de syndication
+// pour la forcer a syndiquer le site dans la globale genie_syndic_now
+
+// http://doc.spip.org/@genie_syndic
+function genie_syndic($t) {
+ include_spip('genie/syndic');
+ define('_GENIE_SYNDIC', 2); // Pas de faux message d'erreur
+ $t = syndic_a_jour(_GENIE_SYNDIC_NOW);
+ return $t ? 0 : _GENIE_SYNDIC_NOW;
+}
+
+// http://doc.spip.org/@insert_syndic
+function insert_syndic($id_rubrique) {
+
+ include_spip('inc/rubriques');
+
+ // Si id_rubrique vaut 0 ou n'est pas definie, creer le site
+ // dans la premiere rubrique racine
+ if (!$id_rubrique = intval($id_rubrique)) {
+ $id_rubrique = sql_getfetsel("id_rubrique", "spip_rubriques", "id_parent=0",'', '0+titre,titre', "1");
+ }
+
+ // Le secteur a la creation : c'est le secteur de la rubrique
+
+ $id_secteur = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=$id_rubrique");
+
+ $champs = array(
+ 'id_rubrique' => $id_rubrique,
+ 'id_secteur' => $id_secteur,
+ 'statut' => 'prop',
+ 'date' => date('Y-m-d H:i:s'));
+
+ // Envoyer aux plugins
+ $champs = pipeline('pre_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_syndic',
+ ),
+ 'data' => $champs
+ )
+ );
+
+ $id_syndic = sql_insertq("spip_syndic", $champs);
+ pipeline('post_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_syndic',
+ 'id_objet' => $id_syndic
+ ),
+ 'data' => $champs
+ )
+ );
+
+ return $id_syndic;
+}
+
+
+// Enregistre une revision de syndic
+// $c est un contenu (par defaut on prend le contenu via _request())
+// http://doc.spip.org/@revisions_sites
+function revisions_sites ($id_syndic, $c=false) {
+
+ include_spip('inc/rubriques');
+ include_spip('inc/autoriser');
+
+ // champs normaux
+ if ($c === false) {
+ $c = array();
+ foreach (array(
+ 'nom_site', 'url_site', 'descriptif', 'url_syndic', 'syndication', 'statut', 'id_parent'
+ ) as $champ)
+ if (($a = _request($champ)) !== null)
+ $c[$champ] = $a;
+ }
+
+ // Si le site est publie, invalider les caches et demander sa reindexation
+ $t = sql_getfetsel("statut", "spip_syndic", "id_syndic=$id_syndic");
+ if ($t == 'publie') {
+ $invalideur = "id='id_syndic/$id_syndic'";
+ $indexation = true;
+ }
+ include_spip('inc/modifier');
+
+ modifier_contenu('syndic', $id_syndic,
+ array(
+ 'nonvide' => array('nom_site' => _T('info_sans_titre')),
+ 'invalideur' => $invalideur,
+ 'indexation' => $indexation
+ ),
+ $c);
+
+
+ $row = sql_fetsel("statut, id_rubrique, id_secteur", "spip_syndic", "id_syndic=$id_syndic");
+ $id_rubrique = $row['id_rubrique'];
+ $statut_ancien = $row['statut'];
+ $id_secteur_old = $row['id_secteur'];
+
+ $statut = $c['statut'];
+
+ if ($statut
+ AND $statut != $statut_ancien
+ AND autoriser('publierdans','rubrique',$id_rubrique)) {
+ $champs['statut'] = $statut;
+ if ($statut == 'publie') {
+ if ($d = _request('date', $c)) {
+ $champs['date'] = $d;
+ } else {
+ $champs['date'] = date('Y-m-d H:i:s');
+ }
+ }
+ } else
+ $statut = $statut_ancien;
+
+ // Changer de rubrique ?
+ // Verifier que la rubrique demandee est differente de l'actuelle,
+ // et qu'elle existe. Recuperer son secteur
+
+ if ($id_parent = intval(_request('id_parent', $c))
+ AND $id_parent != $id_rubrique
+ AND ($id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', "id_rubrique=$id_parent"))) {
+ $champs['id_rubrique'] = $id_parent;
+ if ($id_secteur_old != $id_secteur)
+ $champs['id_secteur'] = $id_secteur;
+ // si le site est publie
+ // et que le demandeur n'est pas admin de la rubrique
+ // repasser le site en statut 'prop'.
+ if ($statut == 'publie') {
+ if (!autoriser('publierdans','rubrique',$id_parent))
+ $champs['statut'] = $statut = 'prop';
+ }
+ }
+
+ if (!$champs) return;
+
+ // Enregistrer les modifications
+ sql_updateq('spip_syndic', $champs, "id_syndic=$id_syndic");
+
+ // Invalider les caches
+ if ($statut == 'publie') {
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_syndic/$id_syndic'");
+ }
+
+ // Notifications
+ if ($notifications = charger_fonction('notifications', 'inc')) {
+ $notifications('instituersite', $id_syndic,
+ array('statut' => $statut, 'statut_ancien' => $statut_ancien, 'date'=>($champs['date']?$champs['date']:$row['date']))
+ );
+ }
+
+ include_spip('inc/rubriques');
+ calculer_rubriques_if($id_rubrique, $champs, $statut_ancien);
+}
+
+
+// Enregistrre les options et retourne True s'il faut syndiquer.
+
+// http://doc.spip.org/@editer_site_options
+function editer_site_options($id_syndic)
+{
+ $moderation = _request('moderation');
+ $miroir = _request('miroir');
+ $oubli = _request('oubli');
+ $resume = _request('resume');
+
+ if ($moderation == 'oui' OR $moderation == 'non')
+ sql_updateq("spip_syndic", array("moderation" => $moderation), "id_syndic=$id_syndic");
+ if ($miroir == 'oui' OR $miroir == 'non')
+ sql_updateq("spip_syndic", array("miroir" => $miroir ), "id_syndic=$id_syndic");
+ if ($oubli == 'oui' OR $oubli == 'non')
+ sql_updateq("spip_syndic", array("oubli" => $oubli), "id_syndic=$id_syndic");
+
+ if (!($resume == 'oui' OR $resume == 'non')) return false;
+
+ sql_updateq("spip_syndic", array("resume" => $resume ), "id_syndic=$id_syndic");
+ return true;
+}
+
+?>
diff --git a/www/ecrire/action/editer_url.php b/www/ecrire/action/editer_url.php
new file mode 100644
index 0000000..19ce290
--- /dev/null
+++ b/www/ecrire/action/editer_url.php
@@ -0,0 +1,154 @@
+ $longueur_maxi) {
+ break;
+ }
+
+ $url = $url2;
+ }
+ $url = substr($url, 1);
+
+ // On enregistre en utf-8 dans la base
+ $url = rawurldecode($url);
+
+ if (strlen($url) < $longueur_min)
+ return '';
+ return $url;
+}
+
+function url_insert(&$set,$confirmer,$separateur){
+ // Si l'insertion echoue, c'est une violation d'unicite.
+ if (@sql_insertq('spip_urls', $set) <= 0) {
+ // On veut chiper une ancienne adresse ?
+ if (
+ // un vieux url
+ $vieux = sql_fetsel('*', 'spip_urls', 'url='.sql_quote($set['url']))
+ // l'objet a une url plus recente
+ AND $courant = sql_fetsel('*', 'spip_urls',
+ 'type='.sql_quote($vieux['type']).' AND id_objet='.sql_quote($vieux['id_objet'])
+ .' AND date>'.sql_quote($vieux['date']), '', 'date DESC', 1
+ )) {
+ if ($confirmer AND !_request('ok2')) {
+ die ("Vous voulez chiper l'URL de l'objet ".$courant['type']." "
+ . $courant['id_objet']." qui a maintenant l'url "
+ . $courant['url']);
+ }
+
+ // si oui on le chipe
+ sql_updateq('spip_urls', $set, 'url='.sql_quote($set['url']));
+ sql_updateq('spip_urls', array('date' => date('Y-m-d H:i:s')), 'url='.sql_quote($set['url']));
+ }
+
+ // Sinon
+ else
+
+ // Soit c'est un Come Back d'une ancienne url propre de l'objet
+ // Soit c'est un vrai conflit. Rajouter l'ID jusqu'a ce que ca passe,
+ // mais se casser avant que ca ne casse.
+
+ // il peut etre du a un changement de casse de l'url simplement
+ // pour ce cas, on reecrit systematiquement l'url en plus d'actualiser la date
+ do {
+ $where = "type=".sql_quote($set['type'])." AND id_objet=".intval($set['id_objet'])." AND url=";
+ if (sql_countsel('spip_urls', $where .sql_quote($set['url']))) {
+ sql_updateq('spip_urls', array('url'=>$set['url'], 'date' => date('Y-m-d H:i:s')), $where .sql_quote($set['url']));
+ spip_log("reordonne ".$set['type']." ".$set['id_objet']);
+ return true;
+ }
+ else {
+ $set['url'] .= $separateur.$set['id_objet'];
+ if (strlen($set['url']) > 200)
+ //serveur out ? retourner au mieux
+ return false;
+ elseif (sql_countsel('spip_urls', $where . sql_quote($set['url']))) {
+ sql_updateq('spip_urls', array('url'=>$set['url'], 'date' => date('Y-m-d H:i:s')), 'url='.sql_quote($set['url']));
+ return true;
+ }
+ }
+ } while (@sql_insertq('spip_urls', $set) <= 0);
+ }
+
+ sql_updateq('spip_urls', array('date' => date('Y-m-d H:i:s')), 'url='.sql_quote($set['url']));
+ spip_log("Creation de l'url propre '" . $set['url'] . "' pour ".$set['type']." ".$set['id_objet']);
+ return true;
+}
+
+function url_verrouiller($objet,$id_objet,$url){
+ $where = "id_objet=".intval($id_objet)." AND type=".sql_quote($objet);
+ $where .= " AND url=".sql_quote($url);
+
+ // pour verrouiller une url, on fixe sa date dans le futur, dans 10 ans
+ sql_updateq('spip_urls', array('date' => date('Y-m-d H:i:s',time()+10*365.25*24*3600)), $where);
+}
+
+function url_delete($objet,$id_objet,$url=""){
+ $where = "id_objet=".intval($id_objet)." AND type=".sql_quote($objet);
+ if (strlen($url))
+ $where .= " AND url=".sql_quote($url);
+
+ sql_delete("spip_urls",$where);
+}
+?>
diff --git a/www/ecrire/action/export_all.php b/www/ecrire/action/export_all.php
new file mode 100644
index 0000000..ec06d3c
--- /dev/null
+++ b/www/ecrire/action/export_all.php
@@ -0,0 +1,108 @@
+'.', 'id_objet'=>'. .'));
+
+ } else {
+ $subdir = dirname($file);
+ $dir = dirname($subdir);
+ $nom = basename($file);
+ $dest = $dir . '/' . $nom;
+ if (file_exists($dest)) {
+ $n = 1;
+ while (@file_exists($new = "$dir/$n-$nom")) $n++;
+ @rename($dest, $new);
+ }
+ if (@rename($file, $dest)) {
+ spip_unlink($subdir);
+ spip_log("$file renomme en $dir/$nom");
+ }
+ // ne pas effrayer inutilement: il peut y avoir moins de fichiers
+ // qu'annonce' si certains etaient vides
+
+ $n = _T('taille_octets', array('taille' => number_format($size, 0, ' ', ' ')));
+
+ // cette chaine est a refaire car il y a double ambiguite:
+ // - si plusieurs SPIP dans une base SQL (cf table_prefix)
+ // - si on exporte seulement une rubrique
+# _T('info_sauvegarde_reussi_02',
+
+ if ($rub) {
+ $titre = sql_getfetsel('titre', 'spip_rubriques', "id_rubrique=$rub");
+ $titre = _T('info_sauvegarde_rubrique_reussi',
+ array('archive' => ':'.joli_repertoire("$dir/$nom")." ($n)", 'titre' => "$titre "));
+ }
+ else
+ $titre = _T('info_sauvegarde_reussi_02',
+ array('archive' => ':'.joli_repertoire("$dir/$nom")." ($n)"));
+
+ $corps = "".
+ $titre .
+ " ".
+ _T('info_sauvegarde_reussi_03')
+ . " "
+ ._T('info_sauvegarde_reussi_04')
+ . "
\n";
+
+ include_spip('inc/filtres');
+ $corps .= ""
+ . bouton_action(_T("retour"), generer_url_ecrire())
+ . "
";
+
+ // afficher la liste des tables qu'on a sauvegarde
+ sort($tables_sauvegardees);
+ $n = floor(count($tables_sauvegardees)/2);
+ $corps .= "" . join(' ', array_slice($tables_sauvegardees,0,$n)) . " "
+ . "" . join(' ', array_slice($tables_sauvegardees,$n)) . " "
+ . "
";
+ }
+ include_spip('inc/minipres');
+ echo minipres(_T('info_sauvegarde'), $corps);
+ exit;
+}
+
+
+?>
diff --git a/www/ecrire/action/iconifier.php b/www/ecrire/action/iconifier.php
new file mode 100644
index 0000000..f7b4b3d
--- /dev/null
+++ b/www/ecrire/action/iconifier.php
@@ -0,0 +1,120 @@
+ 3 ? '' : $formats_logos[$size[2]-1]);
+ if ($type) {
+ $poids = filesize($f);
+
+ if (_LOGO_MAX_SIZE > 0
+ AND $poids > _LOGO_MAX_SIZE*1024) {
+ spip_unlink ($f);
+ check_upload_error(6,
+ _T('info_logo_max_poids',
+ array('maxi' => taille_en_octets(_LOGO_MAX_SIZE*1024),
+ 'actuel' => taille_en_octets($poids))));
+ }
+
+ if (_LOGO_MAX_WIDTH * _LOGO_MAX_HEIGHT
+ AND ($size[0] > _LOGO_MAX_WIDTH
+ OR $size[1] > _LOGO_MAX_HEIGHT)) {
+ spip_unlink ($f);
+ check_upload_error(6,
+ _T('info_logo_max_taille',
+ array(
+ 'maxi' =>
+ _T('info_largeur_vignette',
+ array('largeur_vignette' => _LOGO_MAX_WIDTH,
+ 'hauteur_vignette' => _LOGO_MAX_HEIGHT)),
+ 'actuel' =>
+ _T('info_largeur_vignette',
+ array('largeur_vignette' => $size[0],
+ 'hauteur_vignette' => $size[1]))
+ )));
+ }
+ @rename ($f, _DIR_LOGOS . $arg . ".$type");
+ }
+ else {
+ spip_unlink ($f);
+ check_upload_error(6,_T('info_logo_format_interdit',
+ array('formats' => join(', ', $formats_logos))));
+ }
+
+ }
+}
+?>
diff --git a/www/ecrire/action/index.php b/www/ecrire/action/index.php
new file mode 100644
index 0000000..62d8fe9
--- /dev/null
+++ b/www/ecrire/action/index.php
@@ -0,0 +1 @@
+X
diff --git a/www/ecrire/action/instituer_article.php b/www/ecrire/action/instituer_article.php
new file mode 100644
index 0000000..ee41ada
--- /dev/null
+++ b/www/ecrire/action/instituer_article.php
@@ -0,0 +1,46 @@
+ $statut);
+
+ // si on a envoye une 'date_posterieure', l'enregistrer
+ if ($d = _request('date_posterieure'))
+ $c['date'] = $d;
+
+ instituer_article($id_article, $c);
+
+}
+
+?>
diff --git a/www/ecrire/action/instituer_auteur.php b/www/ecrire/action/instituer_auteur.php
new file mode 100644
index 0000000..53bb525
--- /dev/null
+++ b/www/ecrire/action/instituer_auteur.php
@@ -0,0 +1,36 @@
+$statut,'id_parent'=>intval(_request('id_parent')),'restreintes'=>_request('restreintes'))
+ );
+ instituer_auteur($id_auteur, $c);
+
+}
+
+?>
diff --git a/www/ecrire/action/instituer_breve.php b/www/ecrire/action/instituer_breve.php
new file mode 100644
index 0000000..3316c97
--- /dev/null
+++ b/www/ecrire/action/instituer_breve.php
@@ -0,0 +1,33 @@
+ $statut));
+
+}
+
+?>
diff --git a/www/ecrire/action/instituer_collaboration.php b/www/ecrire/action/instituer_collaboration.php
new file mode 100644
index 0000000..86993fd
--- /dev/null
+++ b/www/ecrire/action/instituer_collaboration.php
@@ -0,0 +1,29 @@
+
diff --git a/www/ecrire/action/instituer_forum.php b/www/ecrire/action/instituer_forum.php
new file mode 100644
index 0000000..7ba6105
--- /dev/null
+++ b/www/ecrire/action/instituer_forum.php
@@ -0,0 +1,86 @@
+ $statut), sql_in("id_forum", $id_messages) ." AND statut = '$old'");
+
+ $id_messages = array_map('reset',sql_allfetsel("id_forum", "spip_forum", sql_in("id_parent", $id_messages)));
+ }
+
+ // Notifier de la publication du message, s'il etait 'prop'
+ if ($old=='prop' AND $statut=='publie') {
+ if ($notifications = charger_fonction('notifications', 'inc')) {
+ $notifications('forumvalide', $id_forum);
+ }
+ }
+
+ // mettre a jour la date du thread
+ // si publie, ou que tout le thread est prive,
+ // mettre la date du thread a 'maintenant' (date de publi du message)
+ // sinon prendre la date_heure du dernier message public
+ // c'est imparfait dans le cas ou les crayons ont ete utilises pour modifier ce message entre temps
+ // car la date_thread aurait cette derniere date alors que pas le message
+ // mais c'est au mieux de ce que l'on peut faire quand on depublie un SPAM ou supprime un message
+ if ($statut=='publie' OR $old=='publie') {
+ if ($statut=='publie'
+ OR !($date_thread = sql_getfetsel("date_heure", "spip_forum", "statut='publie' AND id_thread=".$row['id_thread'], "", "date_heure DESC","0,1"))){
+ $date_thread = date('Y-m-d H:i:s');
+ }
+ sql_updateq("spip_forum", array("date_thread" => $date_thread), "id_thread=".$row['id_thread']);
+ }
+
+ // invalider les pages comportant ce forum
+ include_spip('inc/invalideur');
+ include_spip('inc/forum');
+ $index_forum = calcul_index_forum($row['id_article'], $row['id_breve'], $row['id_rubrique'], $row['id_syndic']);
+ suivre_invalideur("id='id_forum/$index_forum'");
+
+ // Reindexation du thread (par exemple)
+ pipeline('post_edition',
+ array(
+ 'args' => array(
+ 'table' => 'spip_forum',
+ 'id_objet' => $id_forum,
+ 'action' => 'instituer',
+ ),
+ 'data' => null
+ )
+ );
+}
+
+?>
diff --git a/www/ecrire/action/instituer_groupe_mots.php b/www/ecrire/action/instituer_groupe_mots.php
new file mode 100644
index 0000000..54ce867
--- /dev/null
+++ b/www/ecrire/action/instituer_groupe_mots.php
@@ -0,0 +1,57 @@
+ $titre,
+ 'unseul' => 'non',
+ 'obligatoire' => 'non',
+ 'tables_liees'=>$table,
+ 'minirezo' => 'oui',
+ 'comite' => 'non',
+ 'forum' => 'non')) ;
+
+ redirige_par_entete(parametre_url(urldecode(_request('redirect')),
+ 'id_groupe', $id_groupe, '&'));
+}
+
+?>
diff --git a/www/ecrire/action/instituer_langue_rubrique.php b/www/ecrire/action/instituer_langue_rubrique.php
new file mode 100644
index 0000000..75fcfc0
--- /dev/null
+++ b/www/ecrire/action/instituer_langue_rubrique.php
@@ -0,0 +1,46 @@
+0
+ AND $GLOBALS['meta']['multi_rubriques'] == 'oui'
+ AND ($GLOBALS['meta']['multi_secteurs'] == 'non' OR $id_parent == 0)) {
+ if ($changer_lang != "herit")
+ sql_updateq('spip_rubriques', array('lang'=>$changer_lang, 'langue_choisie'=>'oui'), "id_rubrique=$id_rubrique");
+ else {
+ if ($id_parent == 0)
+ $langue_parent = $GLOBALS['meta']['langue_site'];
+ else {
+ $langue_parent = sql_getfetsel("lang", "spip_rubriques", "id_rubrique=$id_parent");
+ }
+ sql_updateq('spip_rubriques', array('lang'=>$langue_parent, 'langue_choisie'=>'non'), "id_rubrique=$id_rubrique");
+ }
+ include_spip('inc/rubriques');
+ calculer_langues_rubriques();
+
+ // invalider les caches marques de cette rubrique
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_rubrique/$id_rubrique'");
+ }
+}
+?>
diff --git a/www/ecrire/action/instituer_rubrique_breves.php b/www/ecrire/action/instituer_rubrique_breves.php
new file mode 100644
index 0000000..ebae3f4
--- /dev/null
+++ b/www/ecrire/action/instituer_rubrique_breves.php
@@ -0,0 +1,38 @@
+
diff --git a/www/ecrire/action/instituer_site.php b/www/ecrire/action/instituer_site.php
new file mode 100644
index 0000000..3ddb830
--- /dev/null
+++ b/www/ecrire/action/instituer_site.php
@@ -0,0 +1,33 @@
+ $statut), $cond);
+ include_spip('inc/rubriques');
+ calculer_rubriques_if($row['id_rubrique'], array('statut' => $statut), $row['statut']);
+
+
+}
+?>
diff --git a/www/ecrire/action/instituer_syndic.php b/www/ecrire/action/instituer_syndic.php
new file mode 100644
index 0000000..a334d89
--- /dev/null
+++ b/www/ecrire/action/instituer_syndic.php
@@ -0,0 +1,28 @@
+ $statut), "id_syndic_article=$id_syndic_article");
+
+
+}
+?>
diff --git a/www/ecrire/action/joindre.php b/www/ecrire/action/joindre.php
new file mode 100644
index 0000000..1e2e11d
--- /dev/null
+++ b/www/ecrire/action/joindre.php
@@ -0,0 +1,265 @@
+ 'publie'));
+ }
+
+ if(_request("iframe") == 'iframe') {
+ $redirect = parametre_url(urldecode($iframe_redirect),"show_docs",join(',',$documents_actifs),'&')."&iframe=iframe";
+ }
+ return $redirect;
+}
+
+// Cas d'un document distant reference sur internet
+
+// http://doc.spip.org/@inc_joindre2_dist
+function inc_joindre2_dist($path, $mode, $type, $id, $id_document,$hash, $redirect, &$actifs, $iframe_redirect)
+{
+ return joindre_documents(array(
+ array('name' => basename($path),
+ 'tmp_name' => $path)
+ ), 'distant', $type, $id, $id_document,
+ $hash, $redirect, $actifs, $iframe_redirect);
+}
+
+// Cas d'un fichier transmis
+
+// http://doc.spip.org/@inc_joindre1_dist
+function inc_joindre1_dist($path, $mode, $type, $id, $id_document,$hash, $redirect, &$actifs, $iframe_redirect)
+{
+ $files = array();
+ if (is_array($path))
+ foreach ($path as $file) {
+ //UPLOAD_ERR_NO_FILE
+ if (!($file['error'] == 4) )
+ $files[]=$file;
+ }
+
+ return joindre_documents($files, $mode, $type, $id, $id_document,
+ $hash, $redirect, $actifs, $iframe_redirect);
+}
+
+// copie de tout ou partie du repertoire upload
+
+// http://doc.spip.org/@inc_joindre3_dist
+function inc_joindre3_dist($path, $mode, $type, $id, $id_document,$hash, $redirect, &$actifs, $iframe_redirect)
+{
+ if (!$path || strstr($path, '..')) return;
+
+ $upload = determine_upload();
+ if ($path != '/' AND $path != './') $upload .= $path;
+
+ if (!is_dir($upload))
+ // seul un fichier est demande
+ $files = array(array ('name' => basename($upload),
+ 'tmp_name' => $upload)
+ );
+ else {
+ include_spip('inc/documents');
+ $files = array();
+ foreach (preg_files($upload) as $fichier) {
+ $files[]= array (
+ 'name' => basename($fichier),
+ 'tmp_name' => $fichier
+ );
+ }
+ }
+
+ return joindre_documents($files, $mode, $type, $id, $id_document, $hash, $redirect, $actifs, $iframe_redirect);
+}
+
+//
+// Charger la fonction surchargeable receptionnant un fichier
+// et l'appliquer sur celui ou ceux indiques.
+
+// http://doc.spip.org/@joindre_documents
+function joindre_documents($files, $mode, $type, $id, $id_document, $hash, $redirect, &$actifs, $iframe_redirect)
+{
+ $ajouter_documents = charger_fonction('ajouter_documents', 'inc');
+
+ if (function_exists('gzopen')
+ AND !($mode == 'distant')
+ AND (count($files) == 1)
+ AND (preg_match('/\.zip$/i', $files[0]['name'])
+ OR ($files[0]['type'] == 'application/zip'))) {
+
+ // on pose le fichier dans le repertoire zip
+ // (nota : copier_document n'ecrase pas un fichier avec lui-meme
+ // ca autorise a boucler)
+ $desc = $files[0];
+ $zip = copier_document("zip",
+ $desc['name'],
+ $desc['tmp_name']
+ );
+ // Est-ce qu'on sait le lire ?
+ include_spip('inc/pclzip');
+ $archive = $zip ? new PclZip($zip) : '';
+ if ($archive) {
+ $valables = verifier_compactes($archive);
+ if ($valables) {
+ if (rename($zip, $tmp = _DIR_TMP.basename($zip))) {
+ echo $ajouter_documents($valables, $tmp, $type, $id, $mode, $id_document, $actifs, $hash, $redirect, $iframe_redirect);
+ // a tout de suite en joindre4, joindre5, ou joindre6
+ exit;
+ }
+ }
+ }
+ }
+
+ foreach ($files as $arg) {
+ // verifier l'extension du fichier en fonction de son type mime
+ list($extension,$arg['name']) = fixer_extension_document($arg);
+ check_upload_error($arg['error']);
+ $x = $ajouter_documents($arg['tmp_name'], $arg['name'],
+ $type, $id, $mode, $id_document, $actifs);
+ }
+ // un invalideur a la hussarde qui doit marcher au moins pour article, breve, rubrique
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_$type/$id'");
+ return $x;
+}
+
+#-----------------------------------------------------------------------
+
+// sous-actions suite a l'envoi d'un Zip:
+// la fonction joindre_documents ci-dessus a construit un formulaire
+// qui renvoie sur une des 3 sous-actions qui suivent.
+
+// Zip avec confirmation "tel quel"
+
+// http://doc.spip.org/@inc_joindre5_dist
+function inc_joindre5_dist($path, $mode, $type, $id, $id_document,$hash, $redirect, &$actifs)
+{
+ $ajouter_documents = charger_fonction('ajouter_documents', 'inc');
+ return $ajouter_documents($path, basename($path), $type, $id, $mode, $id_document, $actifs);
+}
+
+// Zip a deballer.
+
+// http://doc.spip.org/@inc_joindre6_dist
+function inc_joindre6_dist($path, $mode, $type, $id, $id_document,$hash, $redirect, &$actifs, $iframe_redirect)
+{
+ $x = joindre_deballes($path, $mode, $type, $id, $id_document,$hash, $redirect, $actifs);
+ // suppression de l'archive en zip
+ spip_unlink($path);
+ return $x;
+}
+
+// Zip avec les 2 options a la fois
+
+// http://doc.spip.org/@inc_joindre4_dist
+function inc_joindre4_dist($path, $mode, $type, $id, $id_document,$hash, $redirect, &$actifs, $iframe_redirect)
+{
+ joindre_deballes($path, $mode, $type, $id, $id_document,$hash, $redirect, $actifs);
+ return inc_joindre5_dist($path, $mode, $type, $id, $id_document,$hash, $redirect, $actifs);
+}
+
+// http://doc.spip.org/@joindre_deballes
+function joindre_deballes($path, $mode, $type, $id, $id_document,$hash, $redirect, &$actifs)
+{
+ $ajouter_documents = charger_fonction('ajouter_documents', 'inc');
+ define('_tmp_dir', creer_repertoire_documents($hash));
+
+ if (_tmp_dir == _DIR_IMG)
+ {include_spip('inc/minipres');
+ echo minipres(_T('avis_operation_impossible'));
+ exit;
+ }
+ include_spip('inc/pclzip');
+ $archive = new PclZip($path);
+ $archive->extract(
+ PCLZIP_OPT_PATH, _tmp_dir,
+ PCLZIP_CB_PRE_EXTRACT, 'callback_deballe_fichier'
+ );
+ $contenu = verifier_compactes($archive);
+ $titrer = _request('titrer') == 'on';
+ foreach ($contenu as $fichier => $size) {
+ $f = basename($fichier);
+ $x = $ajouter_documents(_tmp_dir. $f, $f,
+ $type, $id, $mode, $id_document, $actifs, $titrer);
+ }
+ effacer_repertoire_temporaire(_tmp_dir);
+ return $x;
+}
+?>
diff --git a/www/ecrire/action/legender.php b/www/ecrire/action/legender.php
new file mode 100644
index 0000000..626431c
--- /dev/null
+++ b/www/ecrire/action/legender.php
@@ -0,0 +1,80 @@
+ passer par _request() qui simule $_REQUEST sans $_COOKIE
+
+// http://doc.spip.org/@action_legender_dist
+function action_legender_dist() {
+
+ $securiser_action = charger_fonction('securiser_action', 'inc');
+ $arg = $securiser_action();
+
+ if (!preg_match(",^\W*(-?\d+)$,", $arg, $r)) {
+ spip_log("action_legender_dist $arg pas compris");
+ } else action_legender_post($r);
+}
+
+// http://doc.spip.org/@action_legender_post
+function action_legender_post($r)
+{
+ $id_document = $r[1];
+
+ $modifs = array();
+
+ // taille du document (cas des embed)
+ if ($largeur_document = intval(_request('largeur_document'))
+ AND $hauteur_document = intval(_request('hauteur_document'))) {
+ $modifs['largeur'] = $largeur_document;
+ $modifs['hauteur'] = $hauteur_document;
+ }
+
+ // Date du document (uniquement dans les rubriques)
+ if (_request('jour_doc') !== null) {
+ $mois_doc = _request('mois_doc');
+ $jour_doc = _request('jour_doc');
+ $heure_doc = _request('heure_doc');
+ $minute_doc = _request('minute_doc');
+ if (_request('annee_doc') == "0000")
+ $mois_doc = "00";
+ if ($mois_doc == "00")
+ $jour_doc = "00";
+ if ($jour_doc == "00"){
+ $heure_doc = "00";
+ $minute_doc = "00";
+ }
+ $date = sprintf('%04d',intval(_request('annee_doc')))
+ .'-'.sprintf('%02d', intval($mois_doc))
+ .'-'.sprintf('%02d',intval($jour_doc))
+ .' '.sprintf('%02d',intval($heure_doc))
+ .':'.sprintf('%02d',intval($minute_doc))
+ .':00';
+ $modifs['date'] = $date;
+ }
+
+ if (($t = _request('titre_document')) !== NULL)
+ $modifs['titre'] = $t;
+ if (($t = _request('descriptif_document')) !== NULL)
+ $modifs['descriptif'] = $t;
+
+ include_spip('inc/modifier');
+ revision_document($id_document, $modifs);
+
+}
+
+?>
diff --git a/www/ecrire/action/logout.php b/www/ecrire/action/logout.php
new file mode 100644
index 0000000..0c5ae36
--- /dev/null
+++ b/www/ecrire/action/logout.php
@@ -0,0 +1,57 @@
+
diff --git a/www/ecrire/action/petitionner.php b/www/ecrire/action/petitionner.php
new file mode 100644
index 0000000..73a6d3d
--- /dev/null
+++ b/www/ecrire/action/petitionner.php
@@ -0,0 +1,55 @@
+ $id_article,
+ 'email_unique' => $email_unique,
+ 'site_obli' => $site_obli,
+ 'site_unique' => $site_unique,
+ 'message' => $message),
+ $GLOBALS['tables_auxiliaires']['spip_petitions']);
+ include_spip('inc/modifier');
+ revision_petition($id_article,
+ array('texte' => _request('texte_petition'))
+ );
+ break;
+ case 'off':
+ sql_delete("spip_petitions", "id_article=$id_article");
+ break;
+ }
+
+}
+
+?>
diff --git a/www/ecrire/action/poster_forum_prive.php b/www/ecrire/action/poster_forum_prive.php
new file mode 100644
index 0000000..9fc35ad
--- /dev/null
+++ b/www/ecrire/action/poster_forum_prive.php
@@ -0,0 +1,86 @@
+ $id,
+ 'titre' => $titre_message,
+ 'texte' => $texte,
+ 'date_heure' => date('Y-m-d H:i:s'),
+ 'nom_site' => _request('nom_site'),
+ 'url_site' => _request('url_site'),
+ 'statut' => $statut,
+ 'id_auteur' =>$GLOBALS['visiteur_session']['id_auteur'],
+ 'auteur' => $GLOBALS['visiteur_session']['nom'],
+ 'email_auteur' => $GLOBALS['visiteur_session']['email'],
+ 'id_parent' => $id_parent));
+
+ calculer_threads();
+
+ if ($objet == 'id_message') {
+ sql_updateq("spip_auteurs_messages", array("vu" => 'non'), "id_message=$id");
+
+ }
+
+ // Notification
+ if ($notifications = charger_fonction('notifications', 'inc')) {
+ $notifications('forumprive', $id_forum);
+ }
+
+ $retour = urldecode(_request('redirect'));
+ $retour = parametre_url($retour, 'modif_forum', 'fin', '&');
+ $retour = parametre_url($retour, 'texte', $objet, '&');
+# $retour = parametre_url($retour, 'script', $script, '&');
+ redirige_par_entete($retour ."#id".$id_forum);
+ } else {
+ // previsualisation : on ne fait que passer ....
+ // et si les clients HTTP respectaient le RFC HTTP selon lequel
+ // une redirection d'un POST doit etre en POST et pas en GET
+ // on n'aurait pas a faire l'horreur ci-dessous.
+
+ set_request('action', '');
+ set_request('exec', 'poster_forum_prive');
+ set_request('id', $id);
+ set_request('id_parent', $id_parent);
+ set_request('statut', $statut);
+ set_request('script', $script);
+
+ include(_DIR_RESTREINT.'index.php');
+ exit;
+ }
+}
+?>
diff --git a/www/ecrire/action/preferer.php b/www/ecrire/action/preferer.php
new file mode 100644
index 0000000..c976ccc
--- /dev/null
+++ b/www/ecrire/action/preferer.php
@@ -0,0 +1,57 @@
+ serialize($GLOBALS['visiteur_session']['prefs'])), "id_auteur=" .intval($GLOBALS['visiteur_session']['id_auteur']));
+
+ if ($op == 'spip_ecran') {
+ // Poser un cookie,
+ // car ce reglage depend plus du navigateur que de l'utilisateur
+ $GLOBALS['spip_ecran'] = $val;
+ include_spip('inc/cookie');
+ spip_setcookie('spip_ecran', $val, time() + 365 * 24 * 3600);
+ }
+
+ // Si modif des couleurs en ajax, redirect inutile on a change de CSS
+ if ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') exit;
+
+ }
+}
+?>
diff --git a/www/ecrire/action/purger.php b/www/ecrire/action/purger.php
new file mode 100644
index 0000000..81eeb38
--- /dev/null
+++ b/www/ecrire/action/purger.php
@@ -0,0 +1,55 @@
+true));
+ purger_repertoire(_DIR_AIDE);
+ purger_repertoire(_DIR_VAR.'cache-css');
+ purger_repertoire(_DIR_VAR.'cache-js');
+ break;
+
+ case 'squelettes':
+ purger_repertoire(_DIR_SKELS);
+ break;
+
+ case 'vignettes':
+ purger_repertoire(_DIR_VAR,array('subdir'=>true));
+ supprime_invalideurs();
+ purger_repertoire(_DIR_CACHE);
+ break;
+ }
+
+}
+
+?>
diff --git a/www/ecrire/action/redirect.php b/www/ecrire/action/redirect.php
new file mode 100644
index 0000000..021ec5d
--- /dev/null
+++ b/www/ecrire/action/redirect.php
@@ -0,0 +1,36 @@
+
diff --git a/www/ecrire/action/referencer_traduction.php b/www/ecrire/action/referencer_traduction.php
new file mode 100644
index 0000000..6271d75
--- /dev/null
+++ b/www/ecrire/action/referencer_traduction.php
@@ -0,0 +1,63 @@
+ $trad)))
+ redirige_par_entete(urldecode(_request('redirect')) . $err);
+ } elseif (preg_match(",^(\d+)\D-(\d+)$,", $arg, $r)) {
+ // supprimer le lien de traduction
+ sql_updateq("spip_articles", array("id_trad" => 0), "id_article=" . $r[1]);
+ // Verifier si l'ancien groupe ne comporte plus qu'un seul article. Alors mettre a zero.
+ $cpt = sql_countsel("spip_articles", "id_trad=" . $r[2]);
+
+ if ($cpt == 1)
+ sql_updateq("spip_articles", array("id_trad" => 0), "id_trad=" . $r[2]);
+ } elseif (preg_match(",^(\d+)\D(\d+)\D(\d+)$,", $arg, $r)) {
+ // modifier le groupe de traduction de $r[1] (SQL le trouvera)
+ sql_update('spip_articles', array("id_trad" => $r[3]), "id_trad=" . $r[2]);
+ } elseif (preg_match(",^(\d+)\D(\d+)$,", $arg, $r)) {
+ instituer_langue_article($r[1],$r[2]);
+ } else {
+ spip_log("action_referencer_traduction_dist $arg pas compris");
+ }
+}
+
+// http://doc.spip.org/@instituer_langue_article
+function instituer_langue_article($id_article, $id_rubrique) {
+
+ $changer_lang = _request('changer_lang');
+
+ if ($GLOBALS['meta']['multi_articles'] == 'oui' AND $changer_lang) {
+ if ($changer_lang != "herit") {
+ sql_updateq('spip_articles', array('lang'=>$changer_lang, 'langue_choisie'=>'oui'), "id_article=$id_article");
+ include_spip('inc/rubriques');
+ $langues = calculer_langues_utilisees();
+ ecrire_meta('langues_utilisees', $langues);
+ } else {
+ $langue_parent = sql_getfetsel("lang", "spip_rubriques", "id_rubrique=" . $id_rubrique);
+ sql_updateq('spip_articles', array('lang'=>$langue_parent, 'langue_choisie'=>'non'), "id_article=$id_article");
+ }
+ }
+}
+?>
diff --git a/www/ecrire/action/regler_moderation.php b/www/ecrire/action/regler_moderation.php
new file mode 100644
index 0000000..5e1cce3
--- /dev/null
+++ b/www/ecrire/action/regler_moderation.php
@@ -0,0 +1,41 @@
+ $statut), "id_article=". $id_article);
+ if ($statut == 'abo') {
+ ecrire_meta('accepter_visiteurs', 'oui');
+ }
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_forum/a$id_article'");
+}
+?>
diff --git a/www/ecrire/action/reorganiser.php b/www/ecrire/action/reorganiser.php
new file mode 100644
index 0000000..9c64031
--- /dev/null
+++ b/www/ecrire/action/reorganiser.php
@@ -0,0 +1,91 @@
+ $id_rubrique));
+ }
+}
+
+// http://doc.spip.org/@reorganiser_rubrique_rubrique
+function reorganiser_rubrique_rubrique($id_quoi, $id_cible)
+{
+ if (($id_quoi != $id_cible)
+ AND autoriser('modifier','rubrique',$id_cible)
+ AND autoriser('modifier','rubrique',$id_quoi)) {
+ if (!$id_cible)
+ $id_secteur = $id_quoi;
+ else {
+ $id_secteur = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=$id_cible");
+ }
+
+ $s = sql_fetsel("statut, id_parent, id_secteur", "spip_rubriques", "id_rubrique=".intval($id_quoi));
+
+ sql_updateq('spip_rubriques', array('id_parent' => $id_cible, 'id_secteur'=>$id_secteur), "id_rubrique=".intval($id_quoi));
+
+ include_spip('inc/rubriques');
+ // propager les secteurs si besoin
+ if ($s['id_secteur']!=$id_secteur)
+ propager_les_secteurs();
+ // changer le statut de la rubrique source
+ if ($s['statut'] == 'publie')
+ calculer_rubriques_if($s['id_parent'],
+ array('id_rubrique' => $id_cible),
+ 'publie');
+ }
+}
+
+// http://doc.spip.org/@action_reorganiser_dist
+function action_reorganiser_dist(){
+
+ $securiser_action = charger_fonction('securiser_action', 'inc');
+ $securiser_action();
+
+ if (_request('deplacements')!==NULL)
+ gerer_deplacements(_request('deplacements'));
+
+ $redirect = _request('redirect');
+ if ($redirect==NULL) $redirect="";
+
+ redirige_par_entete(str_replace("&","&",urldecode($redirect)));
+}
+
+
+?>
diff --git a/www/ecrire/action/supprimer.php b/www/ecrire/action/supprimer.php
new file mode 100644
index 0000000..8e87290
--- /dev/null
+++ b/www/ecrire/action/supprimer.php
@@ -0,0 +1,66 @@
+ '1comite'), "id_auteur=$id_auteur");
+ }
+ // menu_rubriques devra recalculer
+ effacer_meta("date_calcul_rubriques");
+
+ // Une rubrique supprimable n'avait pas le statut "publie"
+ // donc rien de neuf pour la rubrique parente
+ include_spip('inc/rubriques');
+ calculer_langues_rubriques();
+
+ // invalider les caches marques de cette rubrique
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_rubrique/$id_rubrique'");
+}
+
+?>
diff --git a/www/ecrire/action/supprimer_document.php b/www/ecrire/action/supprimer_document.php
new file mode 100644
index 0000000..a5242dc
--- /dev/null
+++ b/www/ecrire/action/supprimer_document.php
@@ -0,0 +1,56 @@
+ array(
+ 'operation' => 'supprimer_document',
+ 'table' => 'spip_documents',
+ 'id_objet' => $id_document
+ ),
+ 'data' => null
+ )
+ );
+}
+
+?>
diff --git a/www/ecrire/action/supprimer_traduction.php b/www/ecrire/action/supprimer_traduction.php
new file mode 100644
index 0000000..cb86ba1
--- /dev/null
+++ b/www/ecrire/action/supprimer_traduction.php
@@ -0,0 +1,38 @@
+ 0), "id_article=" . $r[1]);
+ // Si l'ancien groupe ne comporte plus qu'un seul article
+ // mettre a zero.
+
+ $cpt = sql_countsel("spip_articles", "id_trad=" . $r[2]);
+
+ if ($cpt == 1)
+ sql_updateq("spip_articles", array("id_trad" => 0), "id_trad=" . $r[2]);
+}
+?>
diff --git a/www/ecrire/action/tester.php b/www/ecrire/action/tester.php
new file mode 100644
index 0000000..8873f3a
--- /dev/null
+++ b/www/ecrire/action/tester.php
@@ -0,0 +1,142 @@
+= 4.0.2
+ if (function_exists('imagetypes')) {
+
+ if (imagetypes() & IMG_GIF) {
+ $gd_formats[] = "gif";
+ } else {
+ # Attention GD sait lire le gif mais pas forcement l'ecrire
+ if (function_exists('ImageCreateFromGIF')) {
+ $srcImage = @ImageCreateFromGIF(_ROOT_IMG_PACK."test.gif");
+ if ($srcImage) {
+ $gd_formats_read_gif = ",gif";
+ ImageDestroy( $srcImage );
+ }
+ }
+ }
+
+ if (imagetypes() & IMG_JPG)
+ $gd_formats[] = "jpg";
+ if (imagetypes() & IMG_PNG)
+ $gd_formats[] = "png";
+ }
+
+ else { # ancienne methode de detection des formats, qui en plus
+ # est bugguee car elle teste les formats en lecture
+ # alors que la valeur deduite sert a identifier
+ # les formats disponibles en ecriture... (cf. inc_logos)
+
+ $gd_formats = Array();
+ if (function_exists('ImageCreateFromJPEG')) {
+ $srcImage = @ImageCreateFromJPEG(_ROOT_IMG_PACK."test.jpg");
+ if ($srcImage) {
+ $gd_formats[] = "jpg";
+ ImageDestroy( $srcImage );
+ }
+ }
+ if (function_exists('ImageCreateFromGIF')) {
+ $srcImage = @ImageCreateFromGIF(_ROOT_IMG_PACK."test.gif");
+ if ($srcImage) {
+ $gd_formats[] = "gif";
+ ImageDestroy( $srcImage );
+ }
+ }
+ if (function_exists('ImageCreateFromPNG')) {
+ $srcImage = @ImageCreateFromPNG(_ROOT_IMG_PACK."test.png");
+ if ($srcImage) {
+ $gd_formats[] = "png";
+ ImageDestroy( $srcImage );
+ }
+ }
+ }
+
+ if ($gd_formats) $gd_formats = join(",", $gd_formats);
+ ecrire_meta("gd_formats_read", $gd_formats.$gd_formats_read_gif);
+ ecrire_meta("gd_formats", $gd_formats);
+ }
+
+ // verifier les formats netpbm
+ else if ($arg == "netpbm") {
+ define('_PNMSCALE_COMMAND', 'pnmscale'); // chemin a changer dans mes_options
+ if (_PNMSCALE_COMMAND == '') return;
+ $netpbm_formats= Array();
+
+ $jpegtopnm_command = str_replace("pnmscale",
+ "jpegtopnm", _PNMSCALE_COMMAND);
+ $pnmtojpeg_command = str_replace("pnmscale",
+ "pnmtojpeg", _PNMSCALE_COMMAND);
+
+ $vignette = _ROOT_IMG_PACK."test.jpg";
+ $dest = _DIR_VAR . "test-jpg.jpg";
+ $commande = "$jpegtopnm_command $vignette | "._PNMSCALE_COMMAND." -width 10 | $pnmtojpeg_command > $dest";
+ spip_log($commande);
+ exec($commande);
+ if ($taille = @getimagesize($dest)) {
+ if ($taille[1] == 10) $netpbm_formats[] = "jpg";
+ }
+ $giftopnm_command = str_replace("pnmscale", "giftopnm", _PNMSCALE_COMMAND);
+ $pnmtojpeg_command = str_replace("pnmscale", "pnmtojpeg", _PNMSCALE_COMMAND);
+ $vignette = _ROOT_IMG_PACK."test.gif";
+ $dest = _DIR_VAR . "test-gif.jpg";
+ $commande = "$giftopnm_command $vignette | "._PNMSCALE_COMMAND." -width 10 | $pnmtojpeg_command > $dest";
+ spip_log($commande);
+ exec($commande);
+ if ($taille = @getimagesize($dest)) {
+ if ($taille[1] == 10) $netpbm_formats[] = "gif";
+ }
+
+ $pngtopnm_command = str_replace("pnmscale", "pngtopnm", _PNMSCALE_COMMAND);
+ $vignette = _ROOT_IMG_PACK."test.png";
+ $dest = _DIR_VAR . "test-gif.jpg";
+ $commande = "$pngtopnm_command $vignette | "._PNMSCALE_COMMAND." -width 10 | $pnmtojpeg_command > $dest";
+ spip_log($commande);
+ exec($commande);
+ if ($taille = @getimagesize($dest)) {
+ if ($taille[1] == 10) $netpbm_formats[] = "png";
+ }
+
+
+ if ($netpbm_formats)
+ $netpbm_formats = join(",", $netpbm_formats);
+ else
+ $netpbm_formats = '';
+ ecrire_meta("netpbm_formats", $netpbm_formats);
+ }
+
+ // et maintenant envoyer la vignette de tests
+ if (in_array($arg,array("gd1","gd2","imagick","convert","netpbm"))) {
+ include_spip('inc/filtres');
+ include_spip('inc/filtres_images_mini');
+ $taille_preview = 150;
+ $image = _image_valeurs_trans(_DIR_IMG_PACK.'test_image.jpg',"reduire-$taille_preview-$taille_preview",'jpg');
+
+ $image['fichier_dest']=_DIR_VAR."test_$arg";
+ if ($preview = _image_creer_vignette($image, $taille_preview, $taille_preview, $arg, true)
+ AND ($preview['width'] * $preview['height'] > 0))
+ redirige_par_entete($preview['fichier']);
+ }
+
+ # image echec
+ redirige_par_entete(chemin_image('puce-rouge-anim.gif'));
+}
+?>
diff --git a/www/ecrire/action/tester_taille.php b/www/ecrire/action/tester_taille.php
new file mode 100644
index 0000000..733fd3c
--- /dev/null
+++ b/www/ecrire/action/tester_taille.php
@@ -0,0 +1,93 @@
+1)
+ $GLOBALS['taille_min'] = reset($taille);
+
+ // si l'intervalle est assez petit, on garde la valeur min
+ if ($GLOBALS['taille_max']*$GLOBALS['taille_max']-$GLOBALS['taille_min']*$GLOBALS['taille_min']<50000){
+ ecrire_meta('max_taille_vignettes',$t=$GLOBALS['taille_min']*$GLOBALS['taille_min'],'non');
+ echo "test ";
+ echo round($t/1024/1024,3).' Mpx';
+ echo "
";
+ die();
+ }
+
+ $taille = $GLOBALS['taille_test'] = round(($GLOBALS['taille_max']+$GLOBALS['taille_min'])/2);
+
+ include_spip('inc/filtres');
+ // des inclusions representatives d'un hit prive et/ou public pour la conso memoire
+ include_spip('public/assembler');
+ include_spip('public/balises');
+ include_spip('public/boucles');
+ include_spip('public/cacher');
+ include_spip('public/compiler');
+ include_spip('public/composer');
+ include_spip('public/criteres');
+ include_spip('public/interfaces');
+ include_spip('public/parametrer');
+ include_spip('public/phraser_html');
+ include_spip('public/references');
+
+ include_spip('inc/presentation');
+ include_spip('inc/charsets');
+ include_spip('inc/documents');
+ include_spip('inc/header');
+ $dummy = propre("");
+
+ $i = _request('i')+1;
+ $image_source = chemin_image("test.png");
+ $GLOBALS['redirect'] = generer_url_action("tester_taille", "i=$i&arg=".$GLOBALS['taille_min']."-".$GLOBALS['taille_test']);
+
+ ob_start('action_tester_taille_error_handler');
+ $result = filtrer('image_recadre',$image_source,$taille,$taille);
+ $GLOBALS['redirect'] = generer_url_action("tester_taille", "i=$i&arg=$taille-".$GLOBALS['taille_max']);
+ // si la valeur intermediaire a reussi, on teste la valeur maxi qui est peut etre sous estimee
+ $taille = $GLOBALS['taille_max'];
+ $result = filtrer('image_recadre',$image_source,$taille,$taille);
+ $GLOBALS['redirect'] = generer_url_action("tester_taille", "i=$i&arg=$taille-".$GLOBALS['taille_max']);
+ ob_end_clean();
+
+ // on est ici, donc pas de plantage
+ echo redirige_formulaire($GLOBALS['redirect']);
+}
+
+?>
diff --git a/www/ecrire/action/tourner.php b/www/ecrire/action/tourner.php
new file mode 100644
index 0000000..c067a0b
--- /dev/null
+++ b/www/ecrire/action/tourner.php
@@ -0,0 +1,232 @@
+ 0) {
+ $dest = preg_replace(',\.[^.]+$,', '-r'.$var_rot.'$0', $src);
+ spip_log("rotation $var_rot $src : $dest");
+
+ $process = $GLOBALS['meta']['image_process'];
+
+ // imagick (php4-imagemagick)
+ if ($process == 'imagick') {
+ $handle = imagick_readimage($src);
+ imagick_rotate($handle, $var_rot);
+ imagick_write($handle, $dest);
+ if (!@file_exists($dest)) return; // echec imagick
+ }
+ else if ($process == "gd2") { // theoriquement compatible gd1, mais trop forte degradation d'image
+ gdRotate ($src, $dest, $var_rot);
+ }
+ else if ($process == "convert") {
+ if (_CONVERT_COMMAND!='') {
+ define ('_CONVERT_COMMAND', 'convert');
+ define ('_ROTATE_COMMAND', _CONVERT_COMMAND.' -rotate %t %src %dest');
+ } else
+ define ('_ROTATE_COMMAND', '');
+ if (_ROTATE_COMMAND!=='') {
+ $commande = str_replace(
+ array('%t', '%src', '%dest'),
+ array(
+ $var_rot,
+ escapeshellcmd($src),
+ escapeshellcmd($dest)
+ ),
+ _ROTATE_COMMAND);
+ spip_log($commande);
+ exec($commande);
+ } else
+ $dest = $src;
+ }
+ }
+ else
+ $dest = $src;
+
+ $size_image = @getimagesize($dest);
+ $largeur = $size_image[0];
+ $hauteur = $size_image[1];
+
+ // succes !
+ if ($largeur>0 AND $hauteur>0) {
+ sql_updateq('spip_documents', array('fichier' => set_spip_doc($dest), 'largeur'=>$largeur, 'hauteur'=>$hauteur), "id_document=$arg");
+ if ($effacer) {
+ spip_log("j'efface $effacer");
+ spip_unlink($effacer);
+ }
+ // pipeline pour les plugins
+ pipeline('post_edition',
+ array(
+ 'args' => array(
+ 'table' => 'spip_documents',
+ 'table_objet' => 'documents',
+ 'spip_table_objet' => 'spip_documents',
+ 'type' =>'document',
+ 'id_objet' => $arg,
+ 'champs' => array('rotation'=>$r[2],'orientation'=>$var_rot,'fichier'=>$row),
+ 'serveur' => $serveur,
+ 'action'=>'tourner',
+ ),
+ 'data' => array('fichier'=>$row)
+ )
+ );
+ }
+
+}
+
+
+/////////////////////////////////////////////////////////////////////
+//
+// Faire tourner une image
+//
+// http://doc.spip.org/@gdRotate
+function gdRotate ($src, $dest, $rtt){
+ $src_img = '';
+ if(preg_match("/\.(png|gif|jpe?g|bmp)$/i", $src, $regs)) {
+ switch($regs[1]) {
+ case 'png':
+ if (function_exists('ImageCreateFromPNG')) {
+ $src_img=ImageCreateFromPNG($src);
+ $save = 'imagepng';
+ }
+ break;
+ case 'gif':
+ if (function_exists('ImageCreateFromGIF')) {
+ $src_img=ImageCreateFromGIF($src);
+ $save = 'imagegif';
+ }
+ break;
+ case 'jpeg':
+ case 'jpg':
+ if (function_exists('ImageCreateFromJPEG')) {
+ $src_img=ImageCreateFromJPEG($src);
+ $save = 'Imagejpeg';
+ }
+ break;
+ case 'bmp':
+ if (function_exists('ImageCreateFromWBMP')) {
+ $src_img=@ImageCreateFromWBMP($src);
+ $save = 'imagewbmp';
+ }
+ break;
+ }
+ }
+
+ if (!$src_img) {
+ spip_log("gdrotate: image non lue, $src");
+ return false;
+ }
+
+ $size=@getimagesize($src);
+ if (!($size[0] * $size[1])) return false;
+
+ if (function_exists('imagerotate')) {
+ $dst_img = imagerotate($src_img, -$rtt, 0);
+ } else {
+
+ // Creer l'image destination (hauteur x largeur) et la parcourir
+ // pixel par pixel (un truc de fou)
+ if ($rtt == 180)
+ $size_dest = $size;
+ else
+ $size_dest = array($size[1],$size[0]);
+
+ if ($GLOBALS['meta']['image_process'] == "gd2")
+ $dst_img=ImageCreateTrueColor($size_dest[0],$size_dest[1]);
+ else
+ $dst_img=ImageCreate($size_dest[0],$size_dest[1]);
+
+ // t=top; b=bottom; r=right; l=left
+ for ($t=0;$t<=$size_dest[0]-1; $t++) {
+ $b = $size_dest[0] -1 - $t;
+ for ($l=0;$l<=$size_dest[1]-1; $l++) {
+ $r = $size_dest[1] -1 - $l;
+ switch ($rtt) {
+ case 90:
+ imagecopy($dst_img,$src_img,$t,$r,$r,$b,1,1);
+ break;
+ case 270:
+ imagecopy($dst_img,$src_img,$t,$l,$r,$t,1,1);
+ break;
+ case 180:
+ imagecopy($dst_img,$src_img,$t,$l,$b,$r,1,1);
+ break;
+ }
+ }
+ }
+ }
+ ImageDestroy($src_img);
+ ImageInterlace($dst_img,0);
+
+ // obligatoire d'enregistrer dans le meme format, puisqu'on change le doc
+ // mais pas son extension
+ $save($dst_img,$dest);
+}
+
+// Appliquer l'EXIF orientation
+// cf. http://trac.rezo.net/trac/spip/ticket/1494
+// http://doc.spip.org/@tourner_selon_exif_orientation
+function tourner_selon_exif_orientation($id_document, $fichier) {
+
+ if (function_exists('exif_read_data')
+ AND $exif = exif_read_data($fichier)
+ AND (
+ $ort = $exif['IFD0']['Orientation']
+ OR $ort = $exif['Orientation'])
+ ) {
+ spip_log("rotation: $ort");
+ $rot = null;
+ switch ($ort) {
+ case 3:
+ $rot = 180;
+ case 6:
+ $rot = 90;
+ case 8:
+ $rot = -90;
+ }
+ if ($rot)
+ action_tourner_post(array(null,$id_document, $rot));
+ }
+}
+
+?>
diff --git a/www/ecrire/action/virtualiser.php b/www/ecrire/action/virtualiser.php
new file mode 100644
index 0000000..8fab2ff
--- /dev/null
+++ b/www/ecrire/action/virtualiser.php
@@ -0,0 +1,36 @@
+ $url, 'date_modif' => date('Y-m-d H:i:s')), "id_article=" . $r[1]);
+}
+?>
diff --git a/www/ecrire/auth/ldap.php b/www/ecrire/auth/ldap.php
new file mode 100644
index 0000000..bc59859
--- /dev/null
+++ b/www/ecrire/auth/ldap.php
@@ -0,0 +1,184 @@
+ array('sAMAccountName', 'uid', 'login', 'userid', 'cn','sn'),
+ 'nom' => "cn",
+ 'email' => "mail",
+ 'bio' => "description");
+
+// http://doc.spip.org/@inc_auth_ldap_dist
+function auth_ldap_dist ($login, $pass, $serveur='') {
+
+ #spip_log("ldap $login " . ($pass ? "mdp fourni" : "mdp absent"));
+
+ // Utilisateur connu ?
+ // si http auth, inutile de reauthentifier: cela
+ // ne marchera pas avec auth http autre que basic.
+ $checkpass = isset($_SERVER["REMOTE_USER"])?false:true;
+ if (!($dn = auth_ldap_search($login, $pass, $checkpass, $serveur))) return array();
+
+ // Si l'utilisateur figure deja dans la base, y recuperer les infos
+ $r = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND source='ldap'",'','','','',$serveur);
+
+ if ($r) return $r;
+
+ // sinon importer les infos depuis LDAP,
+
+ if ($GLOBALS['meta']["ldap_statut_import"]
+ AND $desc = auth_ldap_retrouver($dn, array(), $serveur)) {
+ // rajouter le statut indique a l'install
+ $desc['statut'] = $GLOBALS['meta']["ldap_statut_import"];
+ $desc['login'] = $login;
+ $desc['source'] = 'ldap';
+ $desc['pass'] = '';
+
+ $r = sql_insertq('spip_auteurs', $desc,'',$serveur);
+ }
+
+ if ($r)
+ return sql_fetsel("*", "spip_auteurs", "id_auteur=".intval($r),'','','','',$serveur);
+
+ // sinon echec
+ spip_log("Creation de l'auteur '$login' impossible");
+ return array();
+}
+
+/**
+ * Connexion a l'annuaire LDAP
+ * Il faut passer par spip_connect() pour avoir les info
+ * donc potentiellement indiquer un serveur
+ * meme si dans les fait cet argument est toujours vide
+ *
+ * @param string $serveur
+ * @return string
+ */
+function auth_ldap_connect($serveur='') {
+ include_spip('base/connect_sql');
+ static $connexions_ldap = array();
+ if (isset($connexions_ldap[$serveur])) return $connexions_ldap[$serveur];
+ $connexion = spip_connect($serveur);
+ if (!is_array($connexion['ldap'])) {
+ if ($connexion['authentification']['ldap']) {
+ $f = _DIR_CONNECT . $connexion['authentification']['ldap'];
+ unset($GLOBALS['ldap_link']);
+ if (is_readable($f)) include_once($f);
+ if (isset($GLOBALS['ldap_link']))
+ $connexion['ldap'] = array('link' => $GLOBALS['ldap_link'],
+ 'base' => $GLOBALS['ldap_base']);
+ else spip_log("connection LDAP $serveur mal definie dans $f");
+ if (isset($GLOBALS['ldap_champs']))
+ $connexion['ldap']['attributes'] = $GLOBALS['ldap_champs'];
+ } else spip_log("connection LDAP $serveur inconnue");
+ }
+ return $connexions_ldap[$serveur]=$connexion['ldap'];
+}
+
+/**
+ * Retrouver un login, et verifier son pass si demande par $checkpass
+ *
+ * @param string $login
+ * @param sring $pass
+ * @param bool $checkpass
+ * @return string
+ * le login trouve ou chaine vide si non trouve
+ */
+function auth_ldap_search($login, $pass, $checkpass=true, $serveur=''){
+ // Securite anti-injection et contre un serveur LDAP laxiste
+ $login_search = preg_replace("/[^-@._\s\d\w]/", "", $login);
+ if (!strlen($login_search) OR ($checkpass AND !strlen($pass)) )
+ return '';
+
+ // verifier la connexion
+ if (!$ldap = auth_ldap_connect($serveur))
+ return '';
+
+ $ldap_link = $ldap['link'];
+ $ldap_base = $ldap['base'];
+ $desc = $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ;
+
+ $logins = is_array($desc['login']) ? $desc['login'] : array($desc['login']);
+
+ // Tenter une recherche pour essayer de retrouver le DN
+ foreach($logins as $att) {
+ $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn"));
+ $info = @ldap_get_entries($ldap_link, $result);
+ // Ne pas accepter les resultats si plus d'une entree
+ // (on veut un attribut unique)
+
+ if (is_array($info) AND $info['count'] == 1) {
+ $dn = $info[0]['dn'];
+ if (!$checkpass) return $dn;
+ if (@ldap_bind($ldap_link, $dn, $pass)) return $dn;
+ }
+ }
+
+ if ($checkpass AND !isset($dn)) {
+ // Si echec, essayer de deviner le DN
+ foreach($logins as $att) {
+ $dn = "$att=$login_search, $ldap_base";
+ if (@ldap_bind($ldap_link, $dn, $pass))
+ return "$att=$login_search, $ldap_base";
+ }
+ }
+ return '';
+}
+
+function auth_ldap_retrouver($dn, $desc=array(), $serveur='')
+{
+ // Lire les infos sur l'utilisateur a partir de son DN depuis LDAP
+
+ if (!$ldap = spip_connect_ldap($serveur)) {
+ spip_log("ldap $serveur injoignable");
+ return array();
+ }
+
+ $ldap_link = $ldap['link'];
+ if (!$desc) {
+ $desc = $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ;
+ unset($desc['login']);
+ }
+ $result = @ldap_read($ldap_link, $dn, "objectClass=*", array_values($desc));
+
+ if (!$result) return array();
+
+ // Recuperer les donnees du premier (unique?) compte de l'auteur
+ $val = @ldap_get_entries($ldap_link, $result);
+ if (!is_array($val) OR !is_array($val[0])) return array();
+ $val = $val[0];
+
+ // Convertir depuis UTF-8 (jeu de caracteres par defaut)
+ include_spip('inc/charsets');
+
+ foreach ($desc as $k => $v)
+ $desc[$k] = importer_charset($val[strtolower($v)][0], 'utf-8');
+ return $desc;
+}
+
+
+/**
+ * Retrouver le login de quelqu'un qui cherche a se loger
+ *
+ * @param string $login
+ * @return string
+ */
+function auth_ldap_retrouver_login($login, $serveur='')
+{
+ return auth_ldap_search($login, '', false, $serveur) ? $login : '';
+}
+
+?>
diff --git a/www/ecrire/auth/sha256.inc.php b/www/ecrire/auth/sha256.inc.php
new file mode 100644
index 0000000..d0d706a
--- /dev/null
+++ b/www/ecrire/auth/sha256.inc.php
@@ -0,0 +1,446 @@
+.
+ *
+ * Include:
+ *
+ * require_once("[path/]sha256.inc.php");
+ *
+ * Usage Options:
+ *
+ * 1) $shaStr = hash('sha256', $string_to_hash);
+ *
+ * 2) $shaStr = sha256($string_to_hash[, bool ignore_php5_hash = false]);
+ *
+ * 3) $obj = new nanoSha2([bool $upper_case_output = false]);
+ * $shaStr = $obj->hash($string_to_hash[, bool $ignore_php5_hash = false]);
+ *
+ * Reference: http://csrc.nist.gov/groups/ST/toolkit/secure_hashing.html
+ *
+ * 2007-12-13: Cleaned up for initial public release
+ * 2008-05-10: Moved all helper functions into a class. API access unchanged.
+ * 2009-06-23: Created abstraction of hash() routine
+ * 2009-07-23: Added detection of 32 vs 64bit platform, and patches.
+ * Ability to define "_NANO_SHA2_UPPER" to yeild upper case hashes.
+ * 2009-08-01: Added ability to attempt to use mhash() prior to running pure
+ * php code.
+ *
+ * 2010-06-10: Added support for 16bytes char and utf8 in string
+ *
+ * NOTE: Some sporadic versions of PHP do not handle integer overflows the
+ * same as the majority of builds. If you get hash results of:
+ * 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff
+ *
+ * If you do not have permissions to change PHP versions (if you did
+ * you'd probably upgrade to PHP 5 anyway) it is advised you install a
+ * module that will allow you to use their hashing routines, examples are:
+ * - mhash module : http://ca3.php.net/mhash
+ * - Suhosin : http://www.hardened-php.net/suhosin/
+ *
+ * If you install the Suhosin module, this script will transparently
+ * use their routine and define the PHP routine as _nano_sha256().
+ *
+ * If the mhash module is present, and $ignore_php5_hash = false the
+ * script will attempt to use the output from mhash prior to running
+ * the PHP code.
+ */
+if (!class_exists('nanoSha2'))
+{
+ class nanoSha2
+ {
+ // php 4 - 5 compatable class properties
+ var $toUpper;
+ var $platform;
+ var $bytesString = 16;
+
+ // Php 4 - 6 compatable constructor
+ function nanoSha2($toUpper = false) {
+ // Determine if the caller wants upper case or not.
+ $this->toUpper = is_bool($toUpper)
+ ? $toUpper
+ : ((defined('_NANO_SHA2_UPPER')) ? true : false);
+
+ // Deteremine if the system is 32 or 64 bit.
+ $tmpInt = (int)4294967295;
+ $this->platform = ($tmpInt > 0) ? 64 : 32;
+ }
+
+ // Here are the bitwise and functions as defined in FIPS180-2 Standard
+ function addmod2n($x, $y, $n = 4294967296) // Z = (X + Y) mod 2^32
+ {
+ $mask = 0x80000000;
+
+ if ($x < 0) {
+ $x &= 0x7FFFFFFF;
+ $x = (float)$x + $mask;
+ }
+
+ if ($y < 0) {
+ $y &= 0x7FFFFFFF;
+ $y = (float)$y + $mask;
+ }
+
+ $r = $x + $y;
+
+ if ($r >= $n) {
+ while ($r >= $n) {
+ $r -= $n;
+ }
+ }
+
+ return (int)$r;
+ }
+
+ // Logical bitwise right shift (PHP default is arithmetic shift)
+ function SHR($x, $n) // x >> n
+ {
+ if ($n >= 32) { // impose some limits to keep it 32-bit
+ return (int)0;
+ }
+
+ if ($n <= 0) {
+ return (int)$x;
+ }
+
+ $mask = 0x40000000;
+
+ if ($x < 0) {
+ $x &= 0x7FFFFFFF;
+ $mask = $mask >> ($n-1);
+ return ($x >> $n) | $mask;
+ }
+
+ return (int)$x >> (int)$n;
+ }
+
+ function ROTR($x, $n) { return (int)(($this->SHR($x, $n) | ($x << (32-$n)) & 0xFFFFFFFF)); }
+ function Ch($x, $y, $z) { return ($x & $y) ^ ((~$x) & $z); }
+ function Maj($x, $y, $z) { return ($x & $y) ^ ($x & $z) ^ ($y & $z); }
+ function Sigma0($x) { return (int) ($this->ROTR($x, 2)^$this->ROTR($x, 13)^$this->ROTR($x, 22)); }
+ function Sigma1($x) { return (int) ($this->ROTR($x, 6)^$this->ROTR($x, 11)^$this->ROTR($x, 25)); }
+ function sigma_0($x) { return (int) ($this->ROTR($x, 7)^$this->ROTR($x, 18)^$this->SHR($x, 3)); }
+ function sigma_1($x) { return (int) ($this->ROTR($x, 17)^$this->ROTR($x, 19)^$this->SHR($x, 10)); }
+
+
+ function string2ordUTF8($s,&$byteSize){
+ $chars = array();
+ // par defaut sur 8bits
+ $byteSize = 8;
+ $i = 0;
+ while ($iordUTF8($s, $i, $bytes);
+ $i+=$bytes;
+ // mais si un char necessite 16bits, on passe tout sur 16
+ // sinon on ne concorde pas avec le lecture de la chaine en js
+ // et le sha256 js
+ if ($bytes>1) $byteSize = 16;
+ }
+ return $chars;
+ }
+
+ function ordUTF8($c, $index = 0, &$bytes)
+ {
+ $len = strlen($c);
+ $bytes = 0;
+
+ if ($index >= $len)
+ return false;
+
+ $h = ord($c{$index});
+
+ if ($h <= 0x7F) {
+ $bytes = 1;
+ return $h;
+ }
+ else if ($h < 0xC2){
+ // pas utf mais renvoyer quand meme ce qu'on a
+ $bytes = 1;
+ return $h;
+ }
+ else if ($h <= 0xDF && $index < $len - 1) {
+ $bytes = 2;
+ return ($h & 0x1F) << 6 | (ord($c{$index + 1}) & 0x3F);
+ }
+ else if ($h <= 0xEF && $index < $len - 2) {
+ $bytes = 3;
+ return ($h & 0x0F) << 12 | (ord($c{$index + 1}) & 0x3F) << 6
+ | (ord($c{$index + 2}) & 0x3F);
+ }
+ else if ($h <= 0xF4 && $index < $len - 3) {
+ $bytes = 4;
+ return ($h & 0x0F) << 18 | (ord($c{$index + 1}) & 0x3F) << 12
+ | (ord($c{$index + 2}) & 0x3F) << 6
+ | (ord($c{$index + 3}) & 0x3F);
+ }
+ else {
+ // pas utf mais renvoyer quand meme ce qu'on a
+ $bytes = 1;
+ return $h;
+ }
+ }
+
+ function string2binint ($str,$npad=512) {
+ $bin = array();
+ $ords = $this->string2ordUTF8($str,$this->bytesString);
+ $npad = $npad/$this->bytesString;
+ $length = count($ords);
+ $ords[] = 0x80; // append the "1" bit followed by 7 0's
+ $ords = array_pad($ords,ceil(($length+32/$this->bytesString)/$npad)*$npad-32/$this->bytesString,0);
+ $mask = (1 << $this->bytesString) - 1;
+ for($i = 0; $i < count($ords) * $this->bytesString; $i += $this->bytesString)
+ $bin[$i>>5] |= ($ords[$i / $this->bytesString] & $mask) << (24 - $i%32);
+ $bin[] = $length*$this->bytesString;
+ return $bin;
+ }
+
+ function array_split($a, $n) {
+ $split = array();
+ while (count($a)>$n) {
+ $s = array();
+ for($i = 0;$i<$n;$i++)
+ $s[] = array_shift($a);
+ $split[] = $s;
+ }
+ if (count($a)){
+ $a = array_pad($a,$n,0);
+ $split[] = $a;
+ }
+ return $split;
+ }
+
+ /**
+ * Process and return the hash.
+ *
+ * @param $str Input string to hash
+ * @param $ig_func Option param to ignore checking for php > 5.1.2
+ * @return string Hexadecimal representation of the message digest
+ */
+ function hash($str, $ig_func = true)
+ {
+ unset($binStr); // binary representation of input string
+ unset($hexStr); // 256-bit message digest in readable hex format
+
+ // check for php's internal sha256 function, ignore if ig_func==true
+ if ($ig_func == false) {
+ if (version_compare(PHP_VERSION,'5.1.2','>=') AND !defined('_NO_HASH_DEFINED')) {
+ return hash("sha256", $str, false);
+ } else if (function_exists('mhash') && defined('MHASH_SHA256')) {
+ return base64_encode(bin2hex(mhash(MHASH_SHA256, $str)));
+ }
+ }
+
+ /*
+ * SHA-256 Constants
+ * Sequence of sixty-four constant 32-bit words representing the
+ * first thirty-two bits of the fractional parts of the cube roots
+ * of the first sixtyfour prime numbers.
+ */
+ $K = array((int)0x428a2f98, (int)0x71374491, (int)0xb5c0fbcf,
+ (int)0xe9b5dba5, (int)0x3956c25b, (int)0x59f111f1,
+ (int)0x923f82a4, (int)0xab1c5ed5, (int)0xd807aa98,
+ (int)0x12835b01, (int)0x243185be, (int)0x550c7dc3,
+ (int)0x72be5d74, (int)0x80deb1fe, (int)0x9bdc06a7,
+ (int)0xc19bf174, (int)0xe49b69c1, (int)0xefbe4786,
+ (int)0x0fc19dc6, (int)0x240ca1cc, (int)0x2de92c6f,
+ (int)0x4a7484aa, (int)0x5cb0a9dc, (int)0x76f988da,
+ (int)0x983e5152, (int)0xa831c66d, (int)0xb00327c8,
+ (int)0xbf597fc7, (int)0xc6e00bf3, (int)0xd5a79147,
+ (int)0x06ca6351, (int)0x14292967, (int)0x27b70a85,
+ (int)0x2e1b2138, (int)0x4d2c6dfc, (int)0x53380d13,
+ (int)0x650a7354, (int)0x766a0abb, (int)0x81c2c92e,
+ (int)0x92722c85, (int)0xa2bfe8a1, (int)0xa81a664b,
+ (int)0xc24b8b70, (int)0xc76c51a3, (int)0xd192e819,
+ (int)0xd6990624, (int)0xf40e3585, (int)0x106aa070,
+ (int)0x19a4c116, (int)0x1e376c08, (int)0x2748774c,
+ (int)0x34b0bcb5, (int)0x391c0cb3, (int)0x4ed8aa4a,
+ (int)0x5b9cca4f, (int)0x682e6ff3, (int)0x748f82ee,
+ (int)0x78a5636f, (int)0x84c87814, (int)0x8cc70208,
+ (int)0x90befffa, (int)0xa4506ceb, (int)0xbef9a3f7,
+ (int)0xc67178f2);
+
+ // Pre-processing: Padding the string
+ $binStr = $this->string2binint($str,512);
+
+ // Parsing the Padded Message (Break into N 512-bit blocks)
+ $M = $this->array_split($binStr, 16);
+
+ // Set the initial hash values
+ $h[0] = (int)0x6a09e667;
+ $h[1] = (int)0xbb67ae85;
+ $h[2] = (int)0x3c6ef372;
+ $h[3] = (int)0xa54ff53a;
+ $h[4] = (int)0x510e527f;
+ $h[5] = (int)0x9b05688c;
+ $h[6] = (int)0x1f83d9ab;
+ $h[7] = (int)0x5be0cd19;
+
+ // loop through message blocks and compute hash. ( For i=1 to N : )
+ $N = count($M);
+ for ($i = 0; $i < $N; $i++)
+ {
+ // Break input block into 16 32bit words (message schedule prep)
+ $MI = $M[$i];
+
+ // Initialize working variables
+ $_a = (int)$h[0];
+ $_b = (int)$h[1];
+ $_c = (int)$h[2];
+ $_d = (int)$h[3];
+ $_e = (int)$h[4];
+ $_f = (int)$h[5];
+ $_g = (int)$h[6];
+ $_h = (int)$h[7];
+ unset($_s0);
+ unset($_s1);
+ unset($_T1);
+ unset($_T2);
+ $W = array();
+
+ // Compute the hash and update
+ for ($t = 0; $t < 16; $t++)
+ {
+ // Prepare the first 16 message schedule values as we loop
+ $W[$t] = $MI[$t];
+
+ // Compute hash
+ $_T1 = $this->addmod2n($this->addmod2n($this->addmod2n($this->addmod2n($_h, $this->Sigma1($_e)), $this->Ch($_e, $_f, $_g)), $K[$t]), $W[$t]);
+ $_T2 = $this->addmod2n($this->Sigma0($_a), $this->Maj($_a, $_b, $_c));
+
+ // Update working variables
+ $_h = $_g; $_g = $_f; $_f = $_e; $_e = $this->addmod2n($_d, $_T1);
+ $_d = $_c; $_c = $_b; $_b = $_a; $_a = $this->addmod2n($_T1, $_T2);
+ }
+
+ for (; $t < 64; $t++)
+ {
+ // Continue building the message schedule as we loop
+ $_s0 = $W[($t+1)&0x0F];
+ $_s0 = $this->sigma_0($_s0);
+ $_s1 = $W[($t+14)&0x0F];
+ $_s1 = $this->sigma_1($_s1);
+
+ $W[$t&0xF] = $this->addmod2n($this->addmod2n($this->addmod2n($W[$t&0xF], $_s0), $_s1), $W[($t+9)&0x0F]);
+
+ // Compute hash
+ $_T1 = $this->addmod2n($this->addmod2n($this->addmod2n($this->addmod2n($_h, $this->Sigma1($_e)), $this->Ch($_e, $_f, $_g)), $K[$t]), $W[$t&0xF]);
+ $_T2 = $this->addmod2n($this->Sigma0($_a), $this->Maj($_a, $_b, $_c));
+
+ // Update working variables
+ $_h = $_g; $_g = $_f; $_f = $_e; $_e = $this->addmod2n($_d, $_T1);
+ $_d = $_c; $_c = $_b; $_b = $_a; $_a = $this->addmod2n($_T1, $_T2);
+ }
+
+ $h[0] = $this->addmod2n($h[0], $_a);
+ $h[1] = $this->addmod2n($h[1], $_b);
+ $h[2] = $this->addmod2n($h[2], $_c);
+ $h[3] = $this->addmod2n($h[3], $_d);
+ $h[4] = $this->addmod2n($h[4], $_e);
+ $h[5] = $this->addmod2n($h[5], $_f);
+ $h[6] = $this->addmod2n($h[6], $_g);
+ $h[7] = $this->addmod2n($h[7], $_h);
+ }
+
+ // Convert the 32-bit words into human readable hexadecimal format.
+ $hexStr = sprintf("%08x%08x%08x%08x%08x%08x%08x%08x", $h[0], $h[1], $h[2], $h[3], $h[4], $h[5], $h[6], $h[7]);
+
+ return ($this->toUpper) ? strtoupper($hexStr) : $hexStr;
+ }
+
+ }
+}
+
+if (!function_exists('str_split'))
+{
+ /**
+ * Splits a string into an array of strings with specified length.
+ * Compatability with older verions of PHP
+ */
+ function str_split($string, $split_length = 1)
+ {
+ $sign = ($split_length < 0) ? -1 : 1;
+ $strlen = strlen($string);
+ $split_length = abs($split_length);
+
+ if (($split_length == 0) || ($strlen == 0)) {
+ $result = false;
+ } elseif ($split_length >= $strlen) {
+ $result[] = $string;
+ } else {
+ $length = $split_length;
+
+ for ($i = 0; $i < $strlen; $i++)
+ {
+ $i = (($sign < 0) ? $i + $length : $i);
+ $result[] = substr($string, $sign*$i, $length);
+ $i--;
+ $i = (($sign < 0) ? $i : $i + $length);
+
+ $length = (($i + $split_length) > $strlen)
+ ? ($strlen - ($i + 1))
+ : $split_length;
+ }
+ }
+
+ return $result;
+ }
+}
+
+/**
+ * Main routine called from an application using this include.
+ *
+ * General usage:
+ * require_once('sha256.inc.php');
+ * $hashstr = sha256('abc');
+ *
+ * Note:
+ * PHP Strings are limitd to (2^31)-1, so it is not worth it to
+ * check for input strings > 2^64 as the FIPS180-2 defines.
+ */
+function _nano_sha256($str, $ig_func = true) {
+ $obj = new nanoSha2((defined('_NANO_SHA2_UPPER')) ? true : false);
+ return $obj->hash($str, $ig_func);
+}
+// 2009-07-23: Added check for function as the Suhosin plugin adds this routine.
+if (!function_exists('sha256')) {
+ function sha256($str, $ig_func = true) { return _nano_sha256($str, $ig_func); }
+}
+
+// support to give php4 the hash() routine which abstracts this code.
+if (!function_exists('hash'))
+{
+ define('_NO_HASH_DEFINED',true);
+ function hash($algo, $data)
+ {
+ if (empty($algo) || !is_string($algo) || !is_string($data)) {
+ return false;
+ }
+
+ if (function_exists($algo)) {
+ return $algo($data);
+ }
+ }
+}
+
+?>
diff --git a/www/ecrire/auth/spip.php b/www/ecrire/auth/spip.php
new file mode 100644
index 0000000..3f426d8
--- /dev/null
+++ b/www/ecrire/auth/spip.php
@@ -0,0 +1,339 @@
+'5poubelle'",'','','','',$serveur);
+
+ // compat avec les anciennes bases en md5
+ if (!$row AND $md5pass)
+ $row = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND pass=" . sql_quote($md5pass) . " AND statut<>'5poubelle'",'','','','',$serveur);
+
+ // login/mot de passe incorrect
+ if (!$row) return array();
+
+ // fait tourner le codage du pass dans la base
+ if ($shanext) {
+
+ include_spip('inc/acces'); // pour creer_uniqid
+ @sql_update('spip_auteurs', array('alea_actuel' => 'alea_futur', 'pass' => sql_quote($shanext), 'alea_futur' => sql_quote(creer_uniqid())), "id_auteur=" . $row['id_auteur'].' AND pass IN ('.sql_quote($shapass).', '.sql_quote($md5pass).')','',$serveur);
+ // En profiter pour verifier la securite de tmp/
+ // Si elle ne fonctionne pas a l'installation, prevenir
+ if (!verifier_htaccess(_DIR_TMP) AND defined('_ECRIRE_INSTALL'))
+ return false;
+ }
+ return $row;
+}
+
+function auth_spip_formulaire_login($flux){
+ // faut il encore envoyer md5 ?
+ // on regarde si il reste des pass md5 en base pour des auteurs en statut pas poubelle
+ // les hash md5 ont une longueur 32, les sha 64
+ $compat_md5 = sql_countsel("spip_auteurs", "length(pass)=32 AND statut<>'poubelle'");
+
+ // javascript qui gere la securite du login en evitant de faire circuler le pass en clair
+ $flux['data'].=
+ ($compat_md5?'':'')
+ . ''
+ .''
+ .'";
+
+ return $flux;
+}
+
+
+/**
+ * Informer du droit de modifier ou non son login
+ * @return bool
+ * toujours true pour un auteur cree dans SPIP
+ */
+function auth_spip_autoriser_modifier_login($serveur=''){
+ if (strlen($serveur))
+ return false; // les fonctions d'ecriture sur base distante sont encore incompletes
+ return true;
+}
+
+/**
+ * Verification de la validite d'un login pour le mode d'auth concerne
+ *
+ * @param string $new_login
+ * @param int $id_auteur
+ * si auteur existant deja
+ * @return string
+ * message d'erreur si login non valide, chaine vide sinon
+ */
+function auth_spip_verifier_login($new_login, $id_auteur=0, $serveur=''){
+ // login et mot de passe
+ if (strlen($new_login)){
+ if (strlen($new_login) < _LOGIN_TROP_COURT)
+ return 'info_login_trop_court';
+ else {
+ $n = sql_countsel('spip_auteurs', "login=" . sql_quote($new_login) . " AND id_auteur!=".intval($id_auteur)." AND statut!='5poubelle'",'','',$serveur);
+ if ($n)
+ return _T('info_login_existant');
+ }
+ }
+ return '';
+}
+
+/**
+ * Modifier le login d'un auteur SPIP
+ *
+ * @param string $new_login
+ * @param int $id_auteur
+ * @return bool
+ */
+function auth_spip_modifier_login($new_login, $id_auteur, $serveur=''){
+ if (is_null($new_login) OR auth_spip_verifier_login($new_login,$id_auteur,$serveur)!='')
+ return false;
+ if (!$id_auteur = intval($id_auteur)
+ OR !$auteur = sql_fetsel('login','spip_auteurs','id_auteur='.intval($id_auteur),'','','','',$serveur))
+ return false;
+ if ($new_login == $auteur['login'])
+ return true; // on a rien fait mais c'est bon !
+
+ include_spip('inc/modifier');
+
+ // vider le login des auteurs a la poubelle qui avaient ce meme login
+ if (strlen($new_login)){
+ $anciens = sql_select('id_auteur','spip_auteurs','login='.sql_quote($new_login)." AND statut='5poubelle'",'','','','',$serveur);
+ while ($row = sql_fetch($anciens)){
+ revision_auteur($row['id_auteur'], array('login'=>'')); // manque la gestion de $serveur
+ }
+ }
+
+ include_spip('inc/modifier');
+ revision_auteur($id_auteur, array('login'=>$new_login)); // manque la gestion de $serveur
+
+ return true;
+}
+
+/**
+ * Retrouver le login de quelqu'un qui cherche a se loger
+ * Reconnaitre aussi ceux qui donnent leur nom ou email au lieu du login
+ *
+ * @param string $login
+ * @return string
+ */
+function auth_spip_retrouver_login($login, $serveur=''){
+ if (!strlen($login)) return null; // pas la peine de requeter
+ $l = sql_quote($login);
+ if ($r = sql_getfetsel('login', 'spip_auteurs',
+ "statut<>'5poubelle'" .
+ " AND (length(pass)>0)" .
+ " AND (login=$l)",'','','','',$serveur))
+ return $r;
+ // Si pas d'auteur avec ce login
+ // regarder s'il a saisi son nom ou son mail.
+ // Ne pas fusionner avec la requete precedente
+ // car un nom peut etre homonyme d'un autre login
+ else return sql_getfetsel('login', 'spip_auteurs',
+ "statut<>'5poubelle'" .
+ " AND (length(pass)>0)" .
+ " AND (login<>'' AND (nom=$l OR email=$l))",'','','','',$serveur);
+}
+
+
+/**
+ * informer sur un login
+ * Ce dernier transmet le tableau ci-dessous a la fonction JS informer_auteur
+ * Il est invoque par la fonction JS actualise_auteur via la globale JS
+ * page_auteur=#URL_PAGE{informer_auteur} dans le squelette login
+ * N'y aurait-il pas plus simple ?
+ *
+ * @param array $infos
+ * @param array $row
+ * @param string $serveur
+ * @return array
+ */
+function auth_spip_informer_login($infos, $row, $serveur=''){
+
+ // pour la methode SPIP on a besoin des alea en plus pour encoder le pass avec
+ $infos['alea_actuel'] = $row['alea_actuel'];
+ $infos['alea_futur'] = $row['alea_futur'];
+
+ return $infos;
+}
+
+/**
+ * Informer du droit de modifier ou non le pass
+ * @return bool
+ * toujours true pour un auteur cree dans SPIP
+ */
+function auth_spip_autoriser_modifier_pass($serveur=''){
+ if (strlen($serveur))
+ return false; // les fonctions d'ecriture sur base distante sont encore incompletes
+ return true;
+}
+
+
+/**
+ * Verification de la validite d'un mot de passe pour le mode d'auth concerne
+ * c'est ici que se font eventuellement les verifications de longueur mini/maxi
+ * ou de force
+ *
+ * @param string $new_pass
+ * @param string $login
+ * le login de l'auteur : permet de verifier que pass et login sont differents
+ * meme a la creation lorsque l'auteur n'existe pas encore
+ * @param int $id_auteur
+ * si auteur existant deja
+ * @return string
+ * message d'erreur si login non valide, chaine vide sinon
+ */
+function auth_spip_verifier_pass($login, $new_pass, $id_auteur=0, $serveur=''){
+ // login et mot de passe
+ if (strlen($new_pass) < 6)
+ return _T('info_passe_trop_court');
+
+ return '';
+}
+
+function auth_spip_modifier_pass($login, $new_pass, $id_auteur, $serveur=''){
+ if (is_null($new_pass) OR auth_spip_verifier_pass($login, $new_pass,$id_auteur,$serveur)!='')
+ return false;
+
+ if (!$id_auteur = intval($id_auteur)
+ OR !$auteur = sql_fetsel('login','spip_auteurs','id_auteur='.intval($id_auteur),'','','','',$serveur))
+ return false;
+
+ $c = array();
+ include_spip('inc/acces');
+ include_spip('auth/sha256.inc');
+ $htpass = generer_htpass($new_pass);
+ $alea_actuel = creer_uniqid();
+ $alea_futur = creer_uniqid();
+ $pass = _nano_sha256($alea_actuel.$new_pass);
+ $c['pass'] = $pass;
+ $c['htpass'] = $htpass;
+ $c['alea_actuel'] = $alea_actuel;
+ $c['alea_futur'] = $alea_futur;
+ $c['low_sec'] = '';
+
+ include_spip('inc/modifier');
+ revision_auteur($id_auteur, $c); // manque la gestion de $serveur
+
+}
+
+/**
+ * Synchroniser les fichiers htpasswd
+ *
+ * @param int $id_auteur
+ * @param array $champs
+ * @param array $options
+ * all=>true permet de demander la regeneration complete des acces apres operation en base (import, upgrade)
+ * @return void
+ */
+function auth_spip_synchroniser_distant($id_auteur, $champs, $options = array(), $serveur=''){
+ // ne rien faire pour une base distante : on ne sait pas regenerer les htaccess
+ if (strlen($serveur))
+ return;
+ // si un login, pass ou statut a ete modifie
+ // regenerer les fichier htpass
+ if (isset($champs['login'])
+ OR isset($champs['pass'])
+ OR isset($champs['statut'])
+ OR (isset($options['all']) AND $options['all'])
+ ) {
+
+ $htaccess = _DIR_RESTREINT . _ACCESS_FILE_NAME;
+ $htpasswd = _DIR_TMP . _AUTH_USER_FILE;
+
+ // Cette variable de configuration peut etre posee par un plugin
+ // par exemple acces_restreint ;
+ // si .htaccess existe, outrepasser spip_meta
+ if (($GLOBALS['meta']['creer_htpasswd'] != 'oui')
+ AND !@file_exists($htaccess)) {
+ spip_unlink($htpasswd);
+ spip_unlink($htpasswd."-admin");
+ return;
+ }
+
+ # remarque : ici on laisse passer les "nouveau" de maniere a leur permettre
+ # de devenir redacteur le cas echeant (auth http)... a nettoyer
+ // attention, il faut au prealable se connecter a la base (necessaire car utilise par install)
+
+ $p1 = ''; // login:htpass pour tous
+ $p2 = ''; // login:htpass pour les admins
+ $s = sql_select("login, htpass, statut", "spip_auteurs", sql_in("statut", array('1comite','0minirezo','nouveau')));
+ while ($t = sql_fetch($s)) {
+ if (strlen($t['login']) AND strlen($t['htpass'])) {
+ $p1 .= $t['login'].':'.$t['htpass']."\n";
+ if ($t['statut'] == '0minirezo')
+ $p2 .= $t['login'].':'.$t['htpass']."\n";
+ }
+ }
+ if ($p1) {
+ ecrire_fichier($htpasswd, $p1);
+ ecrire_fichier($htpasswd.'-admin', $p2);
+ spip_log("Ecriture de $htpasswd et $htpasswd-admin");
+ }
+ }
+}
+
+?>
diff --git a/www/ecrire/balise/formulaire_.php b/www/ecrire/balise/formulaire_.php
new file mode 100644
index 0000000..c35022c
--- /dev/null
+++ b/www/ecrire/balise/formulaire_.php
@@ -0,0 +1,229 @@
+nom_champ)===FALSE) {
+ $p->code = "''";
+ $p->interdire_scripts = false;
+ return $p;
+ }
+
+ // sinon renvoyer un code php dnamique
+ return calculer_balise_dynamique($p, $p->nom_champ, array());
+}
+
+/* prendre en charge par defaut les balises dynamiques formulaires simples */
+// http://doc.spip.org/@balise_FORMULAIRE__dyn
+function balise_FORMULAIRE__dyn($form)
+{
+ $form = existe_formulaire($form);
+ if (!$form) return '';
+
+ // deux moyen d'arriver ici :
+ // soit #FORMULAIRE_XX reroute avec 'FORMULAIRE_XX' ajoute en premier arg
+ // soit #FORMULAIRE_{xx}
+
+ // recuperer les arguments passes a la balise
+ // on enleve le premier qui est le nom de la balise
+ // deja recupere ci-dessus
+
+ $args = func_get_args();
+ array_shift($args);
+ $contexte = balise_FORMULAIRE__contexte($form, $args);
+ if (!is_array($contexte)) return $contexte;
+ return array("formulaires/$form", 3600, $contexte);
+}
+
+function balise_FORMULAIRE__contexte($form, $args)
+{
+ // tester si ce formulaire vient d'etre poste (memes arguments)
+ // pour ne pas confondre 2 #FORMULAIRES_XX identiques sur une meme page
+ // si poste, on recupere les erreurs
+
+ $je_suis_poste = false;
+ if ($post_form = _request('formulaire_action')
+ AND $post_form == $form
+ AND $p = _request('formulaire_action_args')
+ AND is_array($p = decoder_contexte_ajax($p, $post_form))) {
+ // enlever le faux attribut de langue masque
+ array_shift($p);
+ if (formulaire__identifier($form, $args, $p))
+ $je_suis_poste = true;
+ }
+
+ $editable = true;
+ $erreurs = $post = array();
+ if ($je_suis_poste) {
+ $post = traiter_formulaires_dynamiques(true);
+ $e = "erreurs_$form";
+ $erreurs = isset($post[$e]) ? $post[$e] : array();
+ $editable = "editable_$form";
+ $editable = (!isset($post[$e]))
+ || count($erreurs)
+ || (isset($post[$editable]) && $post[$editable]);
+ }
+
+ $valeurs = formulaire__charger($form, $args, $je_suis_poste);
+
+ // si $valeurs n'est pas un tableau, le formulaire n'est pas applicable
+ // C'est plus fort qu'editable qui est gere par le squelette
+ // Idealement $valeur doit etre alors un message explicatif.
+ if (!is_array($valeurs)) return is_string($valeurs) ? $valeurs : '';
+
+ // charger peut passer une action si le formulaire ne tourne pas sur self()
+ // ou une action vide si elle ne sert pas
+ $action = (isset($valeurs['action'])) ? $valeurs['action'] : self('&', true);
+ // bug IEx : si action finit par /
+ // IE croit que le
\n";
+
+ convert_sql_utf8($titre);
+
+ echo ""._T('utf8_convert_termine')."
";
+ effacer_meta('convert_sql_utf8');
+
+ // bouton "retour au site" + redirige_par_entete
+ echo "",
+ " >> ",
+ _T('icone_retour'),"
",
+ install_fin_html();
+}
+
+// http://doc.spip.org/@convert_sql_utf8
+function convert_sql_utf8($titre){
+
+ define(_DEBUG_CONVERT, false);
+ $charset_spip = $GLOBALS['meta']['charset'];
+ $charset_supporte = false;
+ $utf8_supporte = false;
+ // verifier que mysql gere le charset courant pour effectuer les conversions
+ if ($c = sql_get_charset($charset_spip)){
+ $sql_charset = $c['charset'];
+ $sql_collation = $c['collation'];
+ $charset_supporte = true;
+ }
+ if (!$charset_supporte){
+ $res = spip_query("SHOW CHARACTER SET");
+ while ($row = sql_fetch($res)){
+ if ($row['Charset']=='utf8') $utf8_supporte = true;
+ }
+ echo install_debut_html($titre);
+ echo _L("Le charset SPIP actuel $charset_spip n'est pas supporte par votre serveur MySQL "); # non traduit car complexe & obsolete
+ if ($utf8_supporte)
+ echo _L("Votre serveur supporte utf-8, vous devriez convertir votre site en utf-8 avant de recommencer cette operation");
+ echo install_fin_html();
+ } else {
+ echo _L("Charset Actuel du site SPIP : $charset_spip ");
+ echo _L("Conversion des champs des tables spip de type latin1 vers $sql_charset (collation $sql_collation) ");
+ // lister les collations et leur charset correspondant
+ $res = spip_query("SHOW COLLATION");
+ $charset2collations = array();
+ while ($row = sql_fetch($res)){
+ $charset2collations[$row['Collation']] = $row['Charset'];
+ }
+
+ $count = 0;
+ // lister les tables spip
+ include_spip('base/serial');
+ include_spip('base/auxiliaires');
+
+ $res = spip_query("SHOW TABLES");
+ while (($row = sql_fetch($res)) /*&& ($count<1)*/){
+ $nom = array_shift($row);
+ if (preg_match(',^'.$GLOBALS['table_prefix'].'_(.*)$,',$nom,$regs)){
+ $count++;
+ $nom = $regs[1];
+ echo "$nom ";
+ // lister les champs de la table
+ $res2 = spip_query("SHOW FULL COLUMNS FROM spip_$nom");
+ while ($row2 = sql_fetch($res2)){
+ $collation = $row2['Collation'];
+ $champ = $row2['Field'];
+ if ($collation!="NULL"
+ && isset($charset2collations[$collation])
+ && $charset2collations[$collation]=='latin1'){
+ echo "Conversion de '$champ' depuis $collation (".$charset2collations[$collation]."):";
+ // conversion de latin1 vers le charset reel du contenu
+ $type_texte= $row2['Type'];
+ $type_blob = "blob";
+ if (strpos($type_texte,"text")!==FALSE)
+ $type_blob = str_replace("text","blob",$type_texte);
+
+ // sauf si blob expressement demande dans la description !
+ if ((
+ $a = $GLOBALS['tables_principales']['spip_'.$nom]['field'][$champ]
+ OR $a = $GLOBALS['tables_auxiliaires']['spip_'.$nom]['field'][$champ]
+ ) AND preg_match(',blob,i', $a)) {
+ echo "On ignore le champ blob $nom.$champ \n";
+ } else {
+
+ $default = $row2['Default']?(" DEFAULT ".sql_quote($row2['Default'])):"";
+ $notnull = ($row2['Null']=='YES')?"":" NOT NULL";
+ $q = "ALTER TABLE spip_$nom CHANGE $champ $champ $type_blob $default $notnull";
+ if (!_DEBUG_CONVERT)
+ $b = spip_query($q);
+ echo "$q $b\n";
+ $q = "ALTER TABLE spip_$nom CHANGE $champ $champ $type_texte CHARACTER SET $sql_charset COLLATE $sql_collation $default $notnull";
+ if (!_DEBUG_CONVERT)
+ $b = spip_query($q);
+ echo "$q \n";
+ }
+ }
+ }
+ // on ne change le charset par defaut de la table que quand tous ses champs sont convertis
+ $q = "ALTER TABLE spip_$nom DEFAULT CHARACTER SET $sql_charset COLLATE $sql_collation";
+ if (!_DEBUG_CONVERT)
+ $b = spip_query($q);
+ echo "$q $b\n";
+ }
+ }
+ ecrire_meta('charset_sql_base',$sql_charset,'non');
+ ecrire_meta('charset_sql_connexion',$sql_charset,'non');
+ }
+}
+?>
diff --git a/www/ecrire/base/convert_utf8.php b/www/ecrire/base/convert_utf8.php
new file mode 100644
index 0000000..e225c85
--- /dev/null
+++ b/www/ecrire/base/convert_utf8.php
@@ -0,0 +1,159 @@
+ $champ) {
+ spip_log("demande update charset table $table ($champ)");
+ spip_query("UPDATE $table SET $champ = CONCAT('', $champ) WHERE $champ NOT LIKE ' $v) {
+ $v2 = unicode_to_utf_8(charset2unicode($v, $charset_source));
+ if ($v2 != $v) ecrire_meta($c, $v2);
+ }
+}
+
+// http://doc.spip.org/@base_convert_utf8_dist
+function base_convert_utf8_dist($titre='', $reprise=false)
+{
+ if (!$titre) return; // anti-testeur automatique
+ // une liste des tables a convertir, avec le champ dans lequel on
+ // indique '' ; on commence par les rubriques sinon
+ // ca fait desordre dans l'interface privee
+ $tables_a_convertir = array(
+ 'spip_rubriques' => 'titre',
+ 'spip_auteurs' => 'nom',
+ 'spip_articles' => 'titre',
+ 'spip_breves' => 'titre',
+ 'spip_documents' => 'titre',
+ 'spip_forum' => 'titre',
+ 'spip_mots' => 'titre',
+ 'spip_groupes_mots' => 'titre',
+ 'spip_petitions' => 'texte',
+ 'spip_signatures' => 'nom_email',
+ 'spip_syndic' => 'nom_site',
+ 'spip_syndic_articles' => 'titre',
+ 'spip_messages' => 'titre'
+ );
+
+ if (!$reprise) convert_utf8_init($tables_a_convertir);
+
+ echo install_debut_html($titre);
+
+ echo "", _T('utf8_convert_timeout'), "
\n";
+
+ // preparer un fichier de sauvegarde au cas ou
+ // on met 'a' car ca peut demander plusieurs rechargements
+ $f = @fopen(_DIR_TMP.'convert_utf8_backup.sql', 'a');
+
+ foreach ($tables_a_convertir as $table => $champ) {
+ convert_table_utf8($f, $table, $champ);
+ }
+
+ if ($f) fclose($f);
+
+ echo ""._T('utf8_convert_termine')."
";
+ echo ","._T('utf8_convert_verifier', array('rep' => joli_repertoire(_DIR_TMP))), '
';
+
+ // bouton "retour au site" + redirige_par_entete
+ echo "",
+ " >> ",
+ _T('icone_retour'),"
",
+ install_fin_html();
+}
+
+
+// http://doc.spip.org/@convert_table_utf8
+function convert_table_utf8($f, $table, $champ)
+{
+ echo "$table ";
+ $s = spip_query("SELECT * FROM $table WHERE $champ LIKE ' $v) {
+ if ($c == $champ) {
+ preg_match(',^,', $v, $reg);
+ $v = substr($v, strlen($reg[0]));
+ $charset_source = $reg[1];
+ $query[] = "$c=" . sql_quote($v);
+ } else {
+ if (!is_numeric($v)
+ AND !is_ascii($v)) {
+ // traitement special car donnees serializees
+ if ($c == 'extra') {
+ $query_no_convert .= ", $c=".sql_quote($v);
+ $query_extra = convert_extra($v, $charset_source);
+ } else
+ $query[] = "$c=" . sql_quote($v);
+ } else
+ # pour le backup
+ $query_no_convert .= ", $c=".sql_quote($v);
+ }
+ }
+
+ $set = join(', ', $query);
+ $where = "$id_champ = ".$t[$id_champ];
+
+ // On l'enregistre telle quelle sur le fichier de sauvegarde
+ if ($f) fwrite($f,
+ "UPDATE $table SET $set$query_no_convert"
+ ." WHERE $where;\n"
+ );
+
+ // Mais on la transcode
+ // en evitant une double conversion
+ if ($charset_source != 'utf-8') {
+ $query = "UPDATE $table SET "
+ . unicode_to_utf_8(charset2unicode($set, $charset_source))
+ . $query_extra
+ . " WHERE $where AND $champ LIKE '$val)
+ $extra[$key] = unicode_to_utf_8(
+ charset2unicode($val, $charset_source));
+ return ", extra=".sql_quote(serialize($extra));
+ }
+}
+?>
diff --git a/www/ecrire/base/create.php b/www/ecrire/base/create.php
new file mode 100644
index 0000000..45494da
--- /dev/null
+++ b/www/ecrire/base/create.php
@@ -0,0 +1,115 @@
+$type){
+ if (!isset($sql_desc['field'][$field]))
+ sql_alter("TABLE $table ADD $field $type".($last?" AFTER $last":""),$serveur);
+ $last = $field;
+ }
+ foreach($desc['key'] as $key=>$type){
+ if (!isset($sql_desc['key'][$key]))
+ sql_alter("TABLE $table ADD $key ($type)",$serveur);
+ $last = $field;
+ }
+
+ }
+}
+
+function alterer_base($tables_inc, $tables_noinc, $up=false, $serveur='')
+{
+ if ($up === false) {
+ $old = false;
+ $up = array();
+ } else {
+ $old = true;
+ if (!is_array($up)) $up = array($up);
+ }
+ foreach($tables_inc as $k => $v)
+ if (!$old OR in_array($k, $up))
+ creer_ou_upgrader_table($k,$v,true,$old,$serveur);
+
+ foreach($tables_noinc as $k => $v)
+ if (!$old OR in_array($k, $up))
+ creer_ou_upgrader_table($k,$v,false,$old,$serveur);
+}
+
+// http://doc.spip.org/@creer_base
+function creer_base($serveur='') {
+
+ // Note: les mises a jour reexecutent ce code pour s'assurer
+ // de la conformite de la base
+ // pas de panique sur "already exists" et "duplicate entry" donc.
+
+ alterer_base($GLOBALS['tables_principales'],
+ $GLOBALS['tables_auxiliaires'],
+ false,
+ $serveur);
+}
+
+// http://doc.spip.org/@maj_tables
+function maj_tables($upgrade_tables=array(),$serveur=''){
+ alterer_base($GLOBALS['tables_principales'],
+ $GLOBALS['tables_auxiliaires'],
+ $upgrade_tables,
+ $serveur);
+}
+
+// http://doc.spip.org/@creer_base_types_doc
+function creer_base_types_doc($serveur='') {
+ global $tables_images, $tables_sequences, $tables_documents, $tables_mime;
+ // Init ou Re-init ==> replace pas insert
+
+ $freplace = sql_serveur('replace', $serveur);
+ foreach ($tables_mime as $extension => $type_mime) {
+ if (isset($tables_images[$extension])) {
+ $titre = $tables_images[$extension];
+ $inclus='image';
+ }
+ else if (isset($tables_sequences[$extension])) {
+ $titre = $tables_sequences[$extension];
+ $inclus='embed';
+ }
+ else {
+ $inclus='non';
+ if (isset($tables_documents[$extension]))
+ $titre = $tables_documents[$extension];
+ else
+ $titre = '';
+ }
+
+ $freplace('spip_types_documents',
+ array('mime_type' => $type_mime,
+ 'titre' => $titre,
+ 'inclus' => $inclus,
+ 'extension' => $extension,
+ 'upload' => 'oui'
+ ),
+ '', $serveur);
+ }
+}
+?>
diff --git a/www/ecrire/base/delete_all.php b/www/ecrire/base/delete_all.php
new file mode 100644
index 0000000..1dd04ed
--- /dev/null
+++ b/www/ecrire/base/delete_all.php
@@ -0,0 +1,40 @@
+
diff --git a/www/ecrire/base/delete_statistiques.php b/www/ecrire/base/delete_statistiques.php
new file mode 100644
index 0000000..cdd7bf6
--- /dev/null
+++ b/www/ecrire/base/delete_statistiques.php
@@ -0,0 +1,34 @@
+0, 'referers'=>0, 'popularite'=>0));
+
+ // un pipeline pour detruire les tables de stats installees par les plugins
+ pipeline('delete_statistiques', '');
+ spip_log("raz des stats operee redirige vers " . _request('redirect'));
+}
+?>
diff --git a/www/ecrire/base/dump.php b/www/ecrire/base/dump.php
new file mode 100644
index 0000000..c4e8fb3
--- /dev/null
+++ b/www/ecrire/base/dump.php
@@ -0,0 +1,199 @@
+ $tables_principales
+ * @global $tables_auxiliaires
+ * @global $tables_jointures
+ * @param array $exclude_tables
+ * @return array
+ */
+function base_liste_table_for_dump($exclude_tables = array()){
+ $tables_for_dump = array();
+ $tables_pointees = array();
+ global $tables_principales;
+ global $tables_auxiliaires;
+ global $tables_jointures;
+
+ // on construit un index des tables de liens
+ // pour les ajouter SI les deux tables qu'ils connectent sont sauvegardees
+ $tables_for_link = array();
+ foreach($tables_jointures as $table => $liste_relations)
+ if (is_array($liste_relations))
+ {
+ $nom = $table;
+ if (!isset($tables_auxiliaires[$nom])&&!isset($tables_principales[$nom]))
+ $nom = "spip_$table";
+ if (isset($tables_auxiliaires[$nom])||isset($tables_principales[$nom])){
+ foreach($liste_relations as $link_table){
+ if (isset($tables_auxiliaires[$link_table])/*||isset($tables_principales[$link_table])*/){
+ $tables_for_link[$link_table][] = $nom;
+ }
+ else if (isset($tables_auxiliaires["spip_$link_table"])/*||isset($tables_principales["spip_$link_table"])*/){
+ $tables_for_link["spip_$link_table"][] = $nom;
+ }
+ }
+ }
+ }
+
+ $liste_tables = array_merge(array_keys($tables_principales),array_keys($tables_auxiliaires));
+ foreach($liste_tables as $table){
+ // $name = preg_replace("{^spip_}","",$table);
+ if ( !isset($tables_pointees[$table])
+ && !in_array($table,$exclude_tables)
+ && !isset($tables_for_link[$table])){
+ $tables_for_dump[] = $table;
+ $tables_pointees[$table] = 1;
+ }
+ }
+ foreach ($tables_for_link as $link_table =>$liste){
+ $connecte = true;
+ foreach($liste as $connect_table)
+ if (!in_array($connect_table,$tables_for_dump))
+ $connecte = false;
+ if ($connecte)
+ # on ajoute les liaisons en premier
+ # si une restauration est interrompue,
+ # cela se verra mieux si il manque des objets
+ # que des liens
+ array_unshift($tables_for_dump,$link_table);
+ }
+ return array($tables_for_dump, $tables_for_link);
+}
+
+?>
diff --git a/www/ecrire/base/import_all.php b/www/ecrire/base/import_all.php
new file mode 100644
index 0000000..1d62b02
--- /dev/null
+++ b/www/ecrire/base/import_all.php
@@ -0,0 +1,122 @@
+\n";
+
+ if ($charset = $GLOBALS['meta']['charset_restauration']) {
+ ecrire_meta('charset', $charset);
+ }
+
+ detruit_restaurateur();
+ import_all_fin($request);
+ include_spip('inc/rubriques');
+ calculer_rubriques();
+ if (!$res) ecrire_acces(); // Mise a jour du fichier htpasswd
+ // revenir a l'accueil pour finir
+ affiche_progression_javascript('100 %', 0);
+}
+
+// http://doc.spip.org/@import_all_milieu
+function import_all_milieu($request, $archive)
+{
+ global $trans;
+ if ($request['insertion'] == 'passe2') {
+ include_spip('inc/import_insere');
+ $trans = translate_init($request);
+ }
+ else
+ $trans = array();
+
+ return import_tables($request, $archive);
+}
+
+// http://doc.spip.org/@import_all_debut
+function import_all_debut() {
+ ecrire_meta("restauration_status", "0",'non');
+ ecrire_meta("restauration_status_copie", "0",'non');
+}
+
+// http://doc.spip.org/@import_all_fin
+function import_all_fin($request) {
+
+ effacer_meta("charset_restauration");
+ effacer_meta("charset_insertion");
+ effacer_meta("restauration_status");
+ effacer_meta("date_optimisation");
+ effacer_meta('restauration_version_archive');
+ effacer_meta('restauration_tag_archive');
+ effacer_meta('restauration_charset_sql_connexion');
+ effacer_meta('restauration_attributs_archive');
+ effacer_meta('restauration_table_prefix');
+ effacer_meta('restauration_table_prefix_source');
+ effacer_meta('vieille_version_installee');
+ effacer_meta('restauration_status_tables');
+ effacer_meta('restauration_recopie_tables');
+ if ($request['insertion'] == 'passe2')
+ sql_drop_table("spip_translate");
+
+}
+?>
diff --git a/www/ecrire/base/index.php b/www/ecrire/base/index.php
new file mode 100644
index 0000000..62d8fe9
--- /dev/null
+++ b/www/ecrire/base/index.php
@@ -0,0 +1 @@
+X
diff --git a/www/ecrire/base/serial.php b/www/ecrire/base/serial.php
new file mode 100644
index 0000000..aad8334
--- /dev/null
+++ b/www/ecrire/base/serial.php
@@ -0,0 +1,394 @@
+ "bigint(21) NOT NULL",
+ "surtitre" => "text DEFAULT '' NOT NULL",
+ "titre" => "text DEFAULT '' NOT NULL",
+ "soustitre" => "text DEFAULT '' NOT NULL",
+ "id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
+ "descriptif" => "text DEFAULT '' NOT NULL",
+ "chapo" => "mediumtext DEFAULT '' NOT NULL",
+ "texte" => "longtext DEFAULT '' NOT NULL",
+ "ps" => "mediumtext DEFAULT '' NOT NULL",
+ "date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "statut" => "varchar(10) DEFAULT '0' NOT NULL",
+ "id_secteur" => "bigint(21) DEFAULT '0' NOT NULL",
+ "maj" => "TIMESTAMP",
+ "export" => "VARCHAR(10) DEFAULT 'oui'",
+ "date_redac" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "visites" => "integer DEFAULT '0' NOT NULL",
+ "referers" => "integer DEFAULT '0' NOT NULL",
+ "popularite" => "DOUBLE DEFAULT '0' NOT NULL",
+ "accepter_forum" => "CHAR(3) DEFAULT '' NOT NULL",
+ "date_modif" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
+ "langue_choisie" => "VARCHAR(3) DEFAULT 'non'",
+ "id_trad" => "bigint(21) DEFAULT '0' NOT NULL",
+ "extra" => "longtext NULL",
+ "id_version" => "int unsigned DEFAULT '0' NOT NULL",
+ "nom_site" => "tinytext DEFAULT '' NOT NULL",
+ "url_site" => "VARCHAR(255) DEFAULT '' NOT NULL",
+# "url_propre" => "VARCHAR(255) DEFAULT '' NOT NULL"
+);
+
+$spip_articles_key = array(
+ "PRIMARY KEY" => "id_article",
+ "KEY id_rubrique" => "id_rubrique",
+ "KEY id_secteur" => "id_secteur",
+ "KEY id_trad" => "id_trad",
+ "KEY lang" => "lang",
+ "KEY statut" => "statut, date",
+# "KEY url_propre" => "url_propre"
+);
+$spip_articles_join = array(
+ "id_article"=>"id_article",
+ "id_rubrique"=>"id_rubrique");
+
+$spip_auteurs = array(
+ "id_auteur" => "bigint(21) NOT NULL",
+ "nom" => "text DEFAULT '' NOT NULL",
+ "bio" => "text DEFAULT '' NOT NULL",
+ "email" => "tinytext DEFAULT '' NOT NULL",
+ "nom_site" => "tinytext DEFAULT '' NOT NULL",
+ "url_site" => "text DEFAULT '' NOT NULL",
+ "login" => "VARCHAR(255) BINARY",
+ "pass" => "tinytext DEFAULT '' NOT NULL",
+ "low_sec" => "tinytext DEFAULT '' NOT NULL",
+ "statut" => "varchar(255) DEFAULT '0' NOT NULL",
+ "webmestre" => "varchar(3) DEFAULT 'non' NOT NULL",
+ "maj" => "TIMESTAMP",
+ "pgp" => "TEXT DEFAULT '' NOT NULL",
+ "htpass" => "tinytext DEFAULT '' NOT NULL",
+ "en_ligne" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "imessage" => "VARCHAR(3)",
+ "messagerie" => "VARCHAR(3)",
+ "alea_actuel" => "tinytext",
+ "alea_futur" => "tinytext",
+ "prefs" => "tinytext",
+ "cookie_oubli" => "tinytext",
+ "source" => "VARCHAR(10) DEFAULT 'spip' NOT NULL",
+ "lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
+# "url_propre" => "VARCHAR(255)",
+ "extra" => "longtext NULL");
+
+$spip_auteurs_key = array(
+ "PRIMARY KEY" => "id_auteur",
+ "KEY login" => "login",
+ "KEY statut" => "statut",
+ "KEY en_ligne" => "en_ligne",
+# "KEY url_propre" => "url_propre"
+);
+$spip_auteurs_join = array(
+ "id_auteur"=>"id_auteur",
+ "login"=>"login");
+
+
+$spip_breves = array(
+ "id_breve" => "bigint(21) NOT NULL",
+ "date_heure" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "titre" => "text DEFAULT '' NOT NULL",
+ "texte" => "longtext DEFAULT '' NOT NULL",
+ "lien_titre" => "text DEFAULT '' NOT NULL",
+ "lien_url" => "text DEFAULT '' NOT NULL",
+ "statut" => "varchar(6) DEFAULT '0' NOT NULL",
+ "id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
+ "lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
+ "langue_choisie" => "VARCHAR(3) DEFAULT 'non'",
+ "maj" => "TIMESTAMP",
+ "extra" => "longtext NULL",
+# "url_propre" => "VARCHAR(255) DEFAULT '' NOT NULL"
+);
+
+$spip_breves_key = array(
+ "PRIMARY KEY" => "id_breve",
+ "KEY id_rubrique" => "id_rubrique",
+# "KEY url_propre" => "url_propre"
+);
+$spip_breves_join = array(
+ "id_breve"=>"id_breve",
+ "id_rubrique"=>"id_rubrique");
+
+$spip_messages = array(
+ "id_message" => "bigint(21) NOT NULL",
+ "titre" => "text DEFAULT '' NOT NULL",
+ "texte" => "longtext DEFAULT '' NOT NULL",
+ "type" => "varchar(6) DEFAULT '' NOT NULL",
+ "date_heure" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "date_fin" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "rv" => "varchar(3) DEFAULT '' NOT NULL",
+ "statut" => "varchar(6) DEFAULT '0' NOT NULL",
+ "id_auteur" => "bigint(21) NOT NULL",
+ "maj" => "TIMESTAMP");
+
+$spip_messages_key = array(
+ "PRIMARY KEY" => "id_message",
+ "KEY id_auteur" => "id_auteur");
+
+$spip_mots = array(
+ "id_mot" => "bigint(21) NOT NULL",
+ "titre" => "text DEFAULT '' NOT NULL",
+ "descriptif" => "text DEFAULT '' NOT NULL",
+ "texte" => "longtext DEFAULT '' NOT NULL",
+ "id_groupe" => "bigint(21) DEFAULT 0 NOT NULL",
+ "type" => "text DEFAULT '' NOT NULL",
+ "extra" => "longtext NULL",
+# "url_propre" => "VARCHAR(255) DEFAULT '' NOT NULL",
+ "maj" => "TIMESTAMP");
+
+$spip_mots_key = array(
+ "PRIMARY KEY" => "id_mot",
+# "KEY url_propre" => "url_propre"
+);
+
+$spip_groupes_mots = array(
+ "id_groupe" => "bigint(21) NOT NULL",
+ "titre" => "text DEFAULT '' NOT NULL",
+ "descriptif" => "text DEFAULT '' NOT NULL",
+ "texte" => "longtext DEFAULT '' NOT NULL",
+ "unseul" => "varchar(3) DEFAULT '' NOT NULL",
+ "obligatoire" => "varchar(3) DEFAULT '' NOT NULL",
+ "tables_liees" => "text DEFAULT '' NOT NULL",
+ # suppression des champs a faire dans la maj
+ #"articles" => "varchar(3) DEFAULT '' NOT NULL",
+ #"breves" => "varchar(3) DEFAULT '' NOT NULL",
+ #"rubriques" => "varchar(3) DEFAULT '' NOT NULL",
+ #"syndic" => "varchar(3) DEFAULT '' NOT NULL",
+ "minirezo" => "varchar(3) DEFAULT '' NOT NULL",
+ "comite" => "varchar(3) DEFAULT '' NOT NULL",
+ "forum" => "varchar(3) DEFAULT '' NOT NULL",
+ "maj" => "TIMESTAMP");
+
+$spip_groupes_mots_key = array(
+ "PRIMARY KEY" => "id_groupe");
+
+$spip_rubriques = array(
+ "id_rubrique" => "bigint(21) NOT NULL",
+ "id_parent" => "bigint(21) DEFAULT '0' NOT NULL",
+ "titre" => "text DEFAULT '' NOT NULL",
+ "descriptif" => "text DEFAULT '' NOT NULL",
+ "texte" => "longtext DEFAULT '' NOT NULL",
+ "id_secteur" => "bigint(21) DEFAULT '0' NOT NULL",
+ "maj" => "TIMESTAMP",
+ "export" => "VARCHAR(10) DEFAULT 'oui'",
+ "id_import" => "bigint DEFAULT '0'",
+ "statut" => "varchar(10) DEFAULT '0' NOT NULL",
+ "date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
+ "langue_choisie" => "VARCHAR(3) DEFAULT 'non'",
+ "extra" => "longtext NULL",
+# "url_propre" => "VARCHAR(255) DEFAULT '' NOT NULL",
+ "statut_tmp" => "varchar(10) DEFAULT '0' NOT NULL",
+ "date_tmp" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"
+ );
+
+$spip_rubriques_key = array(
+ "PRIMARY KEY" => "id_rubrique",
+ "KEY lang" => "lang",
+ "KEY id_parent" => "id_parent",
+# "KEY url_propre" => "url_propre"
+);
+
+$spip_documents = array(
+ "id_document" => "bigint(21) NOT NULL",
+ "id_vignette" => "bigint(21) DEFAULT '0' NOT NULL",
+ "extension" => "VARCHAR(10) DEFAULT '' NOT NULL",
+ "titre" => "text DEFAULT '' NOT NULL",
+ "date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "descriptif" => "text DEFAULT '' NOT NULL",
+ "fichier" => "varchar(255) DEFAULT '' NOT NULL",
+ "taille" => "integer",
+ "largeur" => "integer",
+ "hauteur" => "integer",
+ "mode" => "ENUM('vignette', 'image', 'document') DEFAULT 'document' NOT NULL",
+ "distant" => "VARCHAR(3) DEFAULT 'non'",
+ "maj" => "TIMESTAMP");
+
+$spip_documents_key = array(
+ "PRIMARY KEY" => "id_document",
+ "KEY id_vignette" => "id_vignette",
+ "KEY mode" => "mode",
+ "KEY extension" => "extension");
+$spip_documents_join = array(
+ "id_document"=>"id_document",
+ "extension"=>"extension");
+
+$spip_types_documents = array(
+ "extension" => "varchar(10) DEFAULT '' NOT NULL",
+ "titre" => "text DEFAULT '' NOT NULL",
+ "descriptif" => "text DEFAULT '' NOT NULL",
+ "mime_type" => "varchar(100) DEFAULT '' NOT NULL",
+ "inclus" => "ENUM('non', 'image', 'embed') NOT NULL DEFAULT 'non'",
+ "upload" => "ENUM('oui', 'non') NOT NULL DEFAULT 'oui'",
+ "maj" => "TIMESTAMP");
+
+$spip_types_documents_key = array(
+ "PRIMARY KEY" => "extension",
+ "KEY inclus" => "inclus");
+
+$spip_syndic = array(
+ "id_syndic" => "bigint(21) NOT NULL",
+ "id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
+ "id_secteur" => "bigint(21) DEFAULT '0' NOT NULL",
+ "nom_site" => "text DEFAULT '' NOT NULL",
+ "url_site" => "text DEFAULT '' NOT NULL",
+ "url_syndic" => "text DEFAULT '' NOT NULL",
+ "descriptif" => "text DEFAULT '' NOT NULL",
+# "url_propre" => "VARCHAR(255) DEFAULT '' NOT NULL",
+ "maj" => "TIMESTAMP",
+ "syndication" => "VARCHAR(3) DEFAULT '' NOT NULL",
+ "statut" => "varchar(10) DEFAULT '0' NOT NULL",
+ "date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "date_syndic" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "date_index" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "extra" => "longtext NULL",
+ "moderation" => "VARCHAR(3) DEFAULT 'non'",
+ "miroir" => "VARCHAR(3) DEFAULT 'non'",
+ "oubli" => "VARCHAR(3) DEFAULT 'non'",
+ "resume" => "VARCHAR(3) DEFAULT 'oui'"
+);
+
+$spip_syndic_key = array(
+ "PRIMARY KEY" => "id_syndic",
+ "KEY id_rubrique" => "id_rubrique",
+ "KEY id_secteur" => "id_secteur",
+ "KEY statut" => "statut, date_syndic",
+# "KEY url_propre" => "url_propre"
+);
+$spip_syndic_join = array(
+ "id_syndic"=>"id_syndic",
+ "id_rubrique"=>"id_rubrique");
+
+$spip_syndic_articles = array(
+ "id_syndic_article" => "bigint(21) NOT NULL",
+ "id_syndic" => "bigint(21) DEFAULT '0' NOT NULL",
+ "titre" => "text DEFAULT '' NOT NULL",
+ "url" => "VARCHAR(255) DEFAULT '' NOT NULL",
+ "date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "lesauteurs" => "text DEFAULT '' NOT NULL",
+ "maj" => "TIMESTAMP",
+ "statut" => "varchar(10) DEFAULT '0' NOT NULL",
+ "descriptif" => "text DEFAULT '' NOT NULL",
+ "lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
+ "url_source" => "TINYTEXT DEFAULT '' NOT NULL",
+ "source" => "TINYTEXT DEFAULT '' NOT NULL",
+ "tags" => "TEXT DEFAULT '' NOT NULL");
+
+$spip_syndic_articles_key = array(
+ "PRIMARY KEY" => "id_syndic_article",
+ "KEY id_syndic" => "id_syndic",
+ "KEY statut" => "statut",
+ "KEY url" => "url");
+$spip_syndic_articles_join = array(
+ "id_syndic_article"=>"id_syndic_article",
+ "id_syndic"=>"id_syndic");
+
+$spip_forum = array(
+ "id_forum" => "bigint(21) NOT NULL",
+ "id_parent" => "bigint(21) DEFAULT '0' NOT NULL",
+ "id_thread" => "bigint(21) DEFAULT '0' NOT NULL",
+ "id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
+ "id_article" => "bigint(21) DEFAULT '0' NOT NULL",
+ "id_breve" => "bigint(21) DEFAULT '0' NOT NULL",
+ "date_heure" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "date_thread" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "titre" => "text DEFAULT '' NOT NULL",
+ "texte" => "mediumtext DEFAULT '' NOT NULL",
+ "auteur" => "text DEFAULT '' NOT NULL",
+ "email_auteur" => "text DEFAULT '' NOT NULL",
+ "nom_site" => "text DEFAULT '' NOT NULL",
+ "url_site" => "text DEFAULT '' NOT NULL",
+ "statut" => "varchar(8) DEFAULT '0' NOT NULL",
+ "ip" => "varchar(40) DEFAULT '' NOT NULL",
+ "maj" => "TIMESTAMP",
+ "id_auteur" => "bigint DEFAULT '0' NOT NULL",
+ "id_message" => "bigint(21) DEFAULT '0' NOT NULL",
+ "id_syndic" => "bigint(21) DEFAULT '0' NOT NULL");
+
+$spip_forum_key = array(
+ "PRIMARY KEY" => "id_forum",
+ "KEY id_auteur" => "id_auteur",
+ "KEY id_parent" => "id_parent",
+ "KEY id_thread" => "id_thread",
+ "KEY optimal" => "statut,id_parent,id_article,date_heure,id_breve,id_syndic,id_rubrique");
+
+$spip_forum_join = array(
+ "id_forum"=>"id_forum",
+ "id_parent"=>"id_parent",
+ "id_article"=>"id_article",
+ "id_breve"=>"id_breve",
+ "id_message"=>"id_message",
+ "id_syndic"=>"id_syndic",
+ "id_rubrique"=>"id_rubrique");
+
+$spip_signatures = array(
+ "id_signature" => "bigint(21) NOT NULL",
+ "id_article" => "bigint(21) DEFAULT '0' NOT NULL",
+ "date_time" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ "nom_email" => "text DEFAULT '' NOT NULL",
+ "ad_email" => "text DEFAULT '' NOT NULL",
+ "nom_site" => "text DEFAULT '' NOT NULL",
+ "url_site" => "text DEFAULT '' NOT NULL",
+ "message" => "mediumtext DEFAULT '' NOT NULL",
+ "statut" => "varchar(10) DEFAULT '0' NOT NULL",
+ "maj" => "TIMESTAMP");
+
+$spip_signatures_key = array(
+ "PRIMARY KEY" => "id_signature",
+ "KEY id_article" => "id_article",
+ "KEY statut" => "statut");
+$spip_signatures_join = array(
+ "id_signature"=>"id_signature",
+ "id_article"=>"id_article");
+
+/// Attention: mes_fonctions peut avoir deja defini cette variable
+/// il faut donc rajouter, mais pas reinitialiser
+
+$tables_principales['spip_articles'] =
+ array('field' => &$spip_articles, 'key' => &$spip_articles_key, 'join' => &$spip_articles_join);
+$tables_principales['spip_auteurs'] =
+ array('field' => &$spip_auteurs, 'key' => &$spip_auteurs_key,'join' => &$spip_auteurs_join);
+$tables_principales['spip_breves'] =
+ array('field' => &$spip_breves, 'key' => &$spip_breves_key,'join' => &$spip_breves_join);
+$tables_principales['spip_messages'] =
+ array('field' => &$spip_messages, 'key' => &$spip_messages_key);
+$tables_principales['spip_mots'] =
+ array('field' => &$spip_mots, 'key' => &$spip_mots_key);
+$tables_principales['spip_groupes_mots'] =
+ array('field' => &$spip_groupes_mots, 'key' => &$spip_groupes_mots_key);
+$tables_principales['spip_rubriques'] =
+ array('field' => &$spip_rubriques, 'key' => &$spip_rubriques_key);
+$tables_principales['spip_documents'] =
+ array('field' => &$spip_documents, 'key' => &$spip_documents_key, 'join' => &$spip_documents_join);
+$tables_principales['spip_types_documents'] =
+ array('field' => &$spip_types_documents, 'key' => &$spip_types_documents_key);
+$tables_principales['spip_syndic'] =
+ array('field' => &$spip_syndic, 'key' => &$spip_syndic_key, 'join' => &$spip_syndic_join);
+$tables_principales['spip_syndic_articles'] =
+ array('field' => &$spip_syndic_articles, 'key' => &$spip_syndic_articles_key, 'join' => &$spip_syndic_articles_join);
+$tables_principales['spip_forum'] =
+ array('field' => &$spip_forum, 'key' => &$spip_forum_key, 'join' => &$spip_forum_join);
+$tables_principales['spip_signatures'] =
+ array('field' => &$spip_signatures, 'key' => &$spip_signatures_key, 'join' => &$spip_signatures_join);
+
+ $tables_principales = pipeline('declarer_tables_principales',$tables_principales);
+}
+
+global $tables_principales;
+base_serial($tables_principales);
+
+?>
diff --git a/www/ecrire/base/trouver_table.php b/www/ecrire/base/trouver_table.php
new file mode 100644
index 0000000..7a12f43
--- /dev/null
+++ b/www/ecrire/base/trouver_table.php
@@ -0,0 +1,149 @@
+
diff --git a/www/ecrire/base/typedoc.php b/www/ecrire/base/typedoc.php
new file mode 100644
index 0000000..e505a04
--- /dev/null
+++ b/www/ecrire/base/typedoc.php
@@ -0,0 +1,310 @@
+ 'JPEG',
+ 'png' => 'PNG',
+ 'gif' => 'GIF',
+
+ // Autres images (peuvent utiliser le tag )
+ 'bmp' => 'BMP',
+ 'tif' => 'TIFF'
+ );
+
+// Multimedia (peuvent utiliser le tag )
+
+$tables_sequences = array(
+ 'aiff' => 'AIFF',
+ 'anx' => 'Annodex',
+ 'axa' => 'Annodex Audio',
+ 'axv' => 'Annodex Video',
+ 'asf' => 'Windows Media',
+ 'avi' => 'AVI',
+ 'dv' => 'Digital Video',
+ 'f4a' => 'Audio for Adobe Flash Player',
+ 'f4b' => 'Audio Book for Adobe Flash Player',
+ 'f4p' => 'Protected Video for Adobe Flash Player',
+ 'f4v' => 'Video for Adobe Flash Player',
+ 'flac' => 'Free Lossless Audio Codec',
+ 'flv' => 'Flash Video',
+ 'm4v' => 'MPEG4 Video',
+ 'm4a' => 'MPEG4 Audio',
+ 'm4b' => 'MPEG4 Audio',
+ 'm4p' => 'MPEG4 Audio',
+ 'mid' => 'Midi',
+ 'mng' => 'MNG',
+ 'mka' => 'Matroska Audio',
+ 'mkv' => 'Matroska Video',
+ 'mov' => 'QuickTime',
+ 'mp3' => 'MP3',
+ 'mp4' => 'MPEG4',
+ 'mpc' => 'Musepack',
+ 'mpg' => 'MPEG',
+ 'oga' => 'Ogg Audio',
+ 'ogg' => 'Ogg Vorbis',
+ 'ogv' => 'Ogg Video',
+ 'ogx' => 'Ogg Multiplex',
+ 'qt' => 'QuickTime',
+ 'ra' => 'RealAudio',
+ 'ram' => 'RealAudio',
+ 'rm' => 'RealAudio',
+ 'spx' => 'Ogg Speex',
+ 'svg' => 'Scalable Vector Graphics',
+ 'swf' => 'Flash',
+ 'wav' => 'WAV',
+ 'webm' => 'WebM',
+ 'wmv' => 'Windows Media',
+ '3gp' => '3rd Generation Partnership Project'
+ );
+
+// Documents varies
+$tables_documents = array(
+ 'abw' => 'Abiword',
+ 'ai' => 'Adobe Illustrator',
+ 'bz2' => 'BZip',
+ 'bin' => 'Binary Data',
+ 'blend' => 'Blender',
+ 'c' => 'C source',
+ 'cls' => 'LaTeX Class',
+ 'css' => 'Cascading Style Sheet',
+ 'csv' => 'Comma Separated Values',
+ 'deb' => 'Debian',
+ 'doc' => 'Word',
+ 'djvu' => 'DjVu',
+ 'dvi' => 'LaTeX DVI',
+ 'eps' => 'PostScript',
+ 'gz' => 'GZ',
+ 'h' => 'C header',
+ 'html' => 'HTML',
+ 'kml' => 'Keyhole Markup Language',
+ 'kmz' => 'Google Earth Placemark File',
+ 'm4u' => 'MPEG4 playliste',
+ 'pas' => 'Pascal',
+ 'pdf' => 'PDF',
+ 'pgn' => 'Portable Game Notation',
+ 'ppt' => 'PowerPoint',
+ 'ps' => 'PostScript',
+ 'psd' => 'Photoshop',
+ 'rpm' => 'RedHat/Mandrake/SuSE',
+ 'rtf' => 'RTF',
+ 'sdd' => 'StarOffice',
+ 'sdw' => 'StarOffice',
+ 'sit' => 'Stuffit',
+ 'sty' => 'LaTeX Style Sheet',
+ 'sxc' => 'OpenOffice.org Calc',
+ 'sxi' => 'OpenOffice.org Impress',
+ 'sxw' => 'OpenOffice.org',
+ 'tex' => 'LaTeX',
+ 'tgz' => 'TGZ',
+ 'torrent' => 'BitTorrent',
+ 'ttf' => 'TTF Font',
+ 'txt' => 'texte',
+ 'xcf' => 'GIMP multi-layer',
+ 'xspf' => 'XSPF',
+ 'xls' => 'Excel',
+ 'xml' => 'XML',
+ 'zip' => 'Zip',
+
+ // open document format
+ 'odt' => 'opendocument text',
+ 'ods' => 'opendocument spreadsheet',
+ 'odp' => 'opendocument presentation',
+ 'odg' => 'opendocument graphics',
+ 'odc' => 'opendocument chart',
+ 'odf' => 'opendocument formula',
+ 'odb' => 'opendocument database',
+ 'odi' => 'opendocument image',
+ 'odm' => 'opendocument text-master',
+ 'ott' => 'opendocument text-template',
+ 'ots' => 'opendocument spreadsheet-template',
+ 'otp' => 'opendocument presentation-template',
+ 'otg' => 'opendocument graphics-template',
+
+ // Open XML File Formats
+ 'docm' => 'Word',
+ 'docx' => 'Word',
+ 'dotm' => 'Word template',
+ 'dotx' => 'Word template',
+
+ 'potm' => 'Powerpoint template',
+ 'potx' => 'Powerpoint template',
+ 'ppam' => 'Powerpoint addin',
+ 'ppsm' => 'Powerpoint slideshow',
+ 'ppsx' => 'Powerpoint slideshow',
+ 'pptm' => 'Powerpoint',
+ 'pptx' => 'Powerpoint',
+
+ 'xlam' => 'Excel',
+ 'xlsb' => 'Excel binary',
+ 'xlsm' => 'Excel',
+ 'xlsx' => 'Excel',
+ 'xltm' => 'Excel template',
+ 'xltx' => 'Excel template'
+ );
+
+$tables_mime = array(
+ // Images reconnues par PHP
+ 'jpg' => 'image/jpeg',
+ 'png' => 'image/png',
+ 'gif' => 'image/gif',
+
+ // Autres images (peuvent utiliser le tag )
+ 'bmp' => 'image/x-ms-bmp', // pas enregistre par IANA, variante: image/bmp
+ 'tif' => 'image/tiff',
+
+ // Multimedia (peuvent utiliser le tag )
+ 'aiff' => 'audio/x-aiff',
+ 'asf' => 'video/x-ms-asf',
+ 'avi' => 'video/x-msvideo',
+ 'anx' => 'application/annodex',
+ 'axa' => 'audio/annodex',
+ 'axv' => 'video/annodex',
+ 'dv' => 'video/x-dv',
+ 'f4a' => 'audio/mp4',
+ 'f4b' => 'audio/mp4',
+ 'f4p' => 'video/mp4',
+ 'f4v' => 'video/mp4',
+ 'flac' => 'audio/x-flac',
+ 'flv' => 'video/x-flv',
+ 'm4a' => 'audio/mp4a-latm',
+ 'm4b' => 'audio/mp4a-latm',
+ 'm4p' => 'audio/mp4a-latm',
+ 'm4u' => 'video/vnd.mpegurl',
+ 'm4v' => 'video/x-m4v',
+ 'mid' => 'audio/midi',
+ 'mka' => 'audio/mka',
+ 'mkv' => 'video/mkv',
+ 'mng' => 'video/x-mng',
+ 'mov' => 'video/quicktime',
+ 'mp3' => 'audio/mpeg',
+ 'mp4' => 'application/mp4',
+ 'mpc' => 'audio/x-musepack',
+ 'mpg' => 'video/mpeg',
+ 'oga' => 'audio/ogg',
+ 'ogg' => 'audio/ogg',
+ 'ogv' => 'video/ogg',
+ 'ogx' => 'application/ogg',
+ 'qt' => 'video/quicktime',
+ 'ra' => 'audio/x-pn-realaudio',
+ 'ram' => 'audio/x-pn-realaudio',
+ 'rm' => 'audio/x-pn-realaudio',
+ 'spx' => 'audio/ogg',
+ 'svg' => 'image/svg+xml',
+ 'swf' => 'application/x-shockwave-flash',
+ 'wav' => 'audio/x-wav',
+ 'webm' => 'video/webm',
+ 'wmv' => 'video/x-ms-wmv',
+ '3gp' => 'video/3gpp',
+
+ // Documents varies
+ 'ai' => 'application/illustrator',
+ 'abw' => 'application/abiword',
+ 'bin' => 'application/octet-stream', # le tout-venant
+ 'blend' => 'application/x-blender',
+ 'bz2' => 'application/x-bzip2',
+ 'c' => 'text/x-csrc',
+ 'css' => 'text/css',
+ 'csv' => 'text/csv',
+ 'deb' => 'application/x-debian-package',
+ 'doc' => 'application/msword',
+ 'djvu' => 'image/vnd.djvu',
+ 'dvi' => 'application/x-dvi',
+ 'eps' => 'application/postscript',
+ 'gz' => 'application/x-gzip',
+ 'h' => 'text/x-chdr',
+ 'html' => 'text/html',
+ 'kml' => 'application/vnd.google-earth.kml+xml',
+ 'kmz' => 'application/vnd.google-earth.kmz',
+ 'pas' => 'text/x-pascal',
+ 'pdf' => 'application/pdf',
+ 'pgn' => 'application/x-chess-pgn',
+ 'ppt' => 'application/vnd.ms-powerpoint',
+ 'ps' => 'application/postscript',
+ 'psd' => 'image/x-photoshop', // pas enregistre par IANA
+ 'rpm' => 'application/x-redhat-package-manager',
+ 'rtf' => 'application/rtf',
+ 'sdd' => 'application/vnd.stardivision.impress',
+ 'sdw' => 'application/vnd.stardivision.writer',
+ 'sit' => 'application/x-stuffit',
+ 'sxc' => 'application/vnd.sun.xml.calc',
+ 'sxi' => 'application/vnd.sun.xml.impress',
+ 'sxw' => 'application/vnd.sun.xml.writer',
+ 'tex' => 'text/x-tex',
+ 'tgz' => 'application/x-gtar',
+ 'torrent' => 'application/x-bittorrent',
+ 'ttf' => 'application/x-font-ttf',
+ 'txt' => 'text/plain',
+ 'xcf' => 'application/x-xcf',
+ 'xls' => 'application/vnd.ms-excel',
+ 'xspf' => 'application/xspf+xml',
+ 'xml' => 'application/xml',
+ 'zip' => 'application/zip',
+
+ // Open Document format
+ 'odt' => 'application/vnd.oasis.opendocument.text',
+ 'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
+ 'odp' => 'application/vnd.oasis.opendocument.presentation',
+ 'odg' => 'application/vnd.oasis.opendocument.graphics',
+ 'odc' => 'application/vnd.oasis.opendocument.chart',
+ 'odf' => 'application/vnd.oasis.opendocument.formula',
+ 'odb' => 'application/vnd.oasis.opendocument.database',
+ 'odi' => 'application/vnd.oasis.opendocument.image',
+ 'odm' => 'application/vnd.oasis.opendocument.text-master',
+ 'ott' => 'application/vnd.oasis.opendocument.text-template',
+ 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
+ 'otp' => 'application/vnd.oasis.opendocument.presentation-template',
+ 'otg' => 'application/vnd.oasis.opendocument.graphics-template',
+
+ 'cls' => 'text/x-tex',
+ 'sty' => 'text/x-tex',
+
+ // Open XML File Formats
+ 'docm' => 'application/vnd.ms-word.document.macroEnabled.12',
+ 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
+ 'dotm' => 'application/vnd.ms-word.template.macroEnabled.12',
+ 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
+
+ 'potm' => 'application/vnd.ms-powerpoint.template.macroEnabled.12',
+ 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template',
+ 'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12',
+ 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',
+ 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
+ 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',
+ 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
+
+ 'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12',
+ 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12',
+ 'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12',
+ 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+ 'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12',
+ 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'
+ );
+
+
+ $mime_alias = array (
+ 'audio/x-mpeg' => 'audio/mpeg',
+ 'audio/webm' => 'video/webm',
+ 'audio/x-musepack' => 'audio/musepack',
+ 'application/x-ogg' => 'application/ogg',
+ 'video/mp4' => 'application/mp4',
+ 'video/flv' => 'video/x-flv',
+ 'audio/3gpp' => 'video/3gpp'
+ );
+
+?>
diff --git a/www/ecrire/base/upgrade.php b/www/ecrire/base/upgrade.php
new file mode 100644
index 0000000..585f08d
--- /dev/null
+++ b/www/ecrire/base/upgrade.php
@@ -0,0 +1,239 @@
+ ne pas passer par le processus de mise a jour.
+ // De meme en cas de version superieure: ca devait etre un test,
+ // il y a eu le message d'avertissement il doit savoir ce qu'il fait
+ //
+ // version_installee = 1.702; quand on a besoin de forcer une MAJ
+
+ spip_log("Version anterieure: $version_installee. Courante: $spip_version_base");
+ if (!$version_installee OR ($spip_version_base < $version_installee)) {
+ sql_replace('spip_meta',
+ array('nom' => 'version_installee',
+ 'valeur' => $spip_version_base,
+ 'impt' => 'non'));
+ return false;
+ }
+ if (!upgrade_test()) return true;
+
+ $cible = ($version_cible ? $version_cible : $spip_version_base);
+
+ if ($version_installee <= 1.926) {
+ $n = floor($version_installee * 10);
+ while ($n < 19) {
+ $nom = sprintf("v%03d",$n);
+ $f = charger_fonction($nom, 'maj', true);
+ if ($f) {
+ spip_log("$f repercute les modifications de la version " . ($n/10));
+ $f($version_installee, $spip_version_base);
+ } else spip_log("pas de fonction pour la maj $n $nom");
+ $n++;
+ }
+ include_spip('maj/v019_pre193');
+ v019_pre193($version_installee, $version_cible);
+ }
+ if ($version_installee < 2000) {
+ if ($version_installee < 2)
+ $version_installee = $version_installee*1000;
+ include_spip('maj/v019');
+ }
+ if ($cible < 2)
+ $cible = $cible*1000;
+
+ include_spip('maj/svn10000');
+ return maj_while($version_installee, $cible, $GLOBALS['maj'], 'version_installee');
+}
+
+// A partir des > 1.926 (i.e SPIP > 1.9.2), cette fonction gere les MAJ.
+// Se relancer soi-meme pour eviter l'interruption pendant une operation SQL
+// (qu'on espere pas trop longue chacune)
+// evidemment en ecrivant dans la meta a quel numero on en est.
+// Cette fonction peut servir aux plugins qui doivent donner comme arguments:
+// 1. le numero de version courant (nombre entier; ex: numero de commit)
+// 2. le numero de version a atteindre (idem)
+// 3. le tableau des instructions de mise a jour a executer
+// Pour profiter du mecanisme de reprise sur interruption il faut de plus
+// 4. le nom de la meta permettant de retrouver tout ca
+// 5. la table des meta ou elle se trouve ($table_prefix . '_meta' par defaut)
+// (cf debut de fichier)
+// en cas d'echec, cette fonction retourne un tableau (etape,sous-etape)
+// sinon elle retourne un tableau vide
+
+define('_UPGRADE_TIME_OUT', 20);
+
+// http://doc.spip.org/@maj_while
+function maj_while($installee, $cible, $maj, $meta='', $table='meta')
+{
+ $n = 0;
+ $time = time();
+
+ while ($installee < $cible) {
+ $installee++;
+ if (isset($maj[$installee])) {
+ $etape = serie_alter($installee, $maj[$installee], $meta, $table);
+
+ if ($etape) return array($installee, $etape);
+ $n = time() - $time;
+ spip_log("$table $meta: $installee en $n secondes",'maj');
+ if ($meta) ecrire_meta($meta, $installee,'non', $table);
+ } // rien pour SQL
+ if ($n >= _UPGRADE_TIME_OUT) {
+ redirige_url_ecrire('upgrade', "reinstall=$installee&meta=$meta&table=$table");
+ }
+ }
+ // indispensable pour les chgt de versions qui n'ecrivent pas en base
+ // tant pis pour la redondance eventuelle avec ci-dessus
+ if ($meta) ecrire_meta($meta, $installee,'non');
+ spip_log("MAJ terminee. $meta: $installee",'maj');
+ return array();
+}
+
+// Appliquer une serie de chgt qui risquent de partir en timeout
+// (Alter cree une copie temporaire d'une table, c'est lourd)
+
+// http://doc.spip.org/@serie_alter
+function serie_alter($serie, $q = array(), $meta='', $table='meta') {
+ $meta .= '_maj_' . $serie;
+ $etape = intval(@$GLOBALS[$table][$meta]);
+ foreach ($q as $i => $r) {
+ if ($i >= $etape) {
+ $msg = "maj $table $meta etape $i";
+ if (is_array($r)
+ AND function_exists($f = array_shift($r))) {
+ spip_log("$msg: $f " . join(',',$r),'maj');
+ ecrire_meta($meta, $i+1, 'non', $table); // attention on enregistre le meta avant de lancer la fonction, de maniere a eviter de boucler sur timeout
+ call_user_func_array($f, $r);
+ spip_log("$meta: ok", 'maj');
+ } else return $i+1;
+ }
+ }
+ effacer_meta($meta, $table);
+ return 0;
+}
+
+
+
+// La fonction a appeler dans le tableau global $maj
+// quand on rajoute des types MIME. cf par exemple la 1.953
+
+// http://doc.spip.org/@upgrade_types_documents
+function upgrade_types_documents() {
+ include_spip('base/create');
+ creer_base_types_doc();
+}
+
+// http://doc.spip.org/@upgrade_test
+function upgrade_test() {
+ sql_drop_table("spip_test", true);
+ sql_create("spip_test", array('a' => 'int'));
+ sql_alter("TABLE spip_test ADD b INT");
+ sql_insertq('spip_test', array('b' => 1), array('field'=>array('b' => 'int')));
+ $result = sql_select('b', "spip_test");
+ // ne pas garder le resultat de la requete sinon sqlite3
+ // ne peut pas supprimer la table spip_test lors du sql_alter qui suit
+ // car cette table serait alors 'verouillee'
+ $result = $result?true:false;
+ sql_alter("TABLE spip_test DROP b");
+ return $result;
+}
+
+// pour versions <= 1.926
+// http://doc.spip.org/@maj_version
+function maj_version ($version, $test = true) {
+ if ($test) {
+ if ($version>=1.922)
+ ecrire_meta('version_installee', $version, 'non');
+ else {
+ // on le fait manuellement, car ecrire_meta utilise le champs impt qui est absent sur les vieilles versions
+ $GLOBALS['meta']['version_installee'] = $version;
+ sql_updateq('spip_meta', array('valeur' => $version), "nom=" . sql_quote('version_installee') );
+ }
+ spip_log("mise a jour de la base en $version");
+ } else {
+ echo _T('alerte_maj_impossible', array('version' => $version));
+ exit;
+ }
+}
+
+// pour versions <= 1.926
+// http://doc.spip.org/@upgrade_vers
+function upgrade_vers($version, $version_installee, $version_cible = 0){
+ return ($version_installee<$version
+ AND (($version_cible>=$version) OR ($version_cible==0))
+ );
+}
+?>
diff --git a/www/ecrire/charsets/cp1250.php b/www/ecrire/charsets/cp1250.php
new file mode 100644
index 0000000..1af0ad4
--- /dev/null
+++ b/www/ecrire/charsets/cp1250.php
@@ -0,0 +1,50 @@
+ 0x20AC, 0x82 => 0x201A,
+0x84 => 0x201E, 0x85 => 0x2026, 0x86 => 0x2020,
+0x87 => 0x2021, 0x89 => 0x2030, 0x8A => 0x0160,
+0x8B => 0x2039, 0x8C => 0x015A, 0x8D => 0x0164,
+0x8E => 0x017D, 0x8F => 0x0179, 0x91 => 0x2018,
+0x92 => 0x2019, 0x93 => 0x201C, 0x94 => 0x201D,
+0x95 => 0x2022, 0x96 => 0x2013, 0x97 => 0x2014,
+0x99 => 0x2122, 0x9A => 0x0161, 0x9B => 0x203A,
+0x9C => 0x015B, 0x9D => 0x0165, 0x9E => 0x017E,
+0x9F => 0x017A, 0xA0 => 0x00A0, 0xA1 => 0x02C7,
+0xA2 => 0x02D8, 0xA3 => 0x0141, 0xA4 => 0x00A4,
+0xA5 => 0x0104, 0xA6 => 0x00A6, 0xA7 => 0x00A7,
+0xA8 => 0x00A8, 0xA9 => 0x00A9, 0xAA => 0x015E,
+0xAB => 0x00AB, 0xAC => 0x00AC, 0xAD => 0x00AD,
+0xAE => 0x00AE, 0xAF => 0x017B, 0xB0 => 0x00B0,
+0xB1 => 0x00B1, 0xB2 => 0x02DB, 0xB3 => 0x0142,
+0xB4 => 0x00B4, 0xB5 => 0x00B5, 0xB6 => 0x00B6,
+0xB7 => 0x00B7, 0xB8 => 0x00B8, 0xB9 => 0x0105,
+0xBA => 0x015F, 0xBB => 0x00BB, 0xBC => 0x013D,
+0xBD => 0x02DD, 0xBE => 0x013E, 0xBF => 0x017C,
+0xC0 => 0x0154, 0xC1 => 0x00C1, 0xC2 => 0x00C2,
+0xC3 => 0x0102, 0xC4 => 0x00C4, 0xC5 => 0x0139,
+0xC6 => 0x0106, 0xC7 => 0x00C7, 0xC8 => 0x010C,
+0xC9 => 0x00C9, 0xCA => 0x0118, 0xCB => 0x00CB,
+0xCC => 0x011A, 0xCD => 0x00CD, 0xCE => 0x00CE,
+0xCF => 0x010E, 0xD0 => 0x0110, 0xD1 => 0x0143,
+0xD2 => 0x0147, 0xD3 => 0x00D3, 0xD4 => 0x00D4,
+0xD5 => 0x0150, 0xD6 => 0x00D6, 0xD7 => 0x00D7,
+0xD8 => 0x0158, 0xD9 => 0x016E, 0xDA => 0x00DA,
+0xDB => 0x0170, 0xDC => 0x00DC, 0xDD => 0x00DD,
+0xDE => 0x0162, 0xDF => 0x00DF, 0xE0 => 0x0155,
+0xE1 => 0x00E1, 0xE2 => 0x00E2, 0xE3 => 0x0103,
+0xE4 => 0x00E4, 0xE5 => 0x013A, 0xE6 => 0x0107,
+0xE7 => 0x00E7, 0xE8 => 0x010D, 0xE9 => 0x00E9,
+0xEA => 0x0119, 0xEB => 0x00EB, 0xEC => 0x011B,
+0xED => 0x00ED, 0xEE => 0x00EE, 0xEF => 0x010F,
+0xF0 => 0x0111, 0xF1 => 0x0144, 0xF2 => 0x0148,
+0xF3 => 0x00F3, 0xF4 => 0x00F4, 0xF5 => 0x0151,
+0xF6 => 0x00F6, 0xF7 => 0x00F7, 0xF8 => 0x0159,
+0xF9 => 0x016F, 0xFA => 0x00FA, 0xFB => 0x0171,
+0xFC => 0x00FC, 0xFD => 0x00FD, 0xFE => 0x0163,
+0xFF => 0x02D9 );
+
+?>
diff --git a/www/ecrire/charsets/cp1251.php b/www/ecrire/charsets/cp1251.php
new file mode 100644
index 0000000..726da77
--- /dev/null
+++ b/www/ecrire/charsets/cp1251.php
@@ -0,0 +1,33 @@
+0x0402, 0x81=>0x0403, 0x82=>0x201A, 0x83=>0x0453, 0x84=>0x201E,
+0x85=>0x2026, 0x86=>0x2020, 0x87=>0x2021, 0x88=>0x20AC, 0x89=>0x2030,
+0x8A=>0x0409, 0x8B=>0x2039, 0x8C=>0x040A, 0x8D=>0x040C, 0x8E=>0x040B,
+0x8F=>0x040F, 0x90=>0x0452, 0x91=>0x2018, 0x92=>0x2019, 0x93=>0x201C,
+0x94=>0x201D, 0x95=>0x2022, 0x96=>0x2013, 0x97=>0x2014, 0x99=>0x2122,
+0x9A=>0x0459, 0x9B=>0x203A, 0x9C=>0x045A, 0x9D=>0x045C, 0x9E=>0x045B,
+0x9F=>0x045F, 0xA0=>0x00A0, 0xA1=>0x040E, 0xA2=>0x045E, 0xA3=>0x0408,
+0xA4=>0x00A4, 0xA5=>0x0490, 0xA6=>0x00A6, 0xA7=>0x00A7, 0xA8=>0x0401,
+0xA9=>0x00A9, 0xAA=>0x0404, 0xAB=>0x00AB, 0xAC=>0x00AC, 0xAD=>0x00AD,
+0xAE=>0x00AE, 0xAF=>0x0407, 0xB0=>0x00B0, 0xB1=>0x00B1, 0xB2=>0x0406,
+0xB3=>0x0456, 0xB4=>0x0491, 0xB5=>0x00B5, 0xB6=>0x00B6, 0xB7=>0x00B7,
+0xB8=>0x0451, 0xB9=>0x2116, 0xBA=>0x0454, 0xBB=>0x00BB, 0xBC=>0x0458,
+0xBD=>0x0405, 0xBE=>0x0455, 0xBF=>0x0457, 0xC0=>0x0410, 0xC1=>0x0411,
+0xC2=>0x0412, 0xC3=>0x0413, 0xC4=>0x0414, 0xC5=>0x0415, 0xC6=>0x0416,
+0xC7=>0x0417, 0xC8=>0x0418, 0xC9=>0x0419, 0xCA=>0x041A, 0xCB=>0x041B,
+0xCC=>0x041C, 0xCD=>0x041D, 0xCE=>0x041E, 0xCF=>0x041F, 0xD0=>0x0420,
+0xD1=>0x0421, 0xD2=>0x0422, 0xD3=>0x0423, 0xD4=>0x0424, 0xD5=>0x0425,
+0xD6=>0x0426, 0xD7=>0x0427, 0xD8=>0x0428, 0xD9=>0x0429, 0xDA=>0x042A,
+0xDB=>0x042B, 0xDC=>0x042C, 0xDD=>0x042D, 0xDE=>0x042E, 0xDF=>0x042F,
+0xE0=>0x0430, 0xE1=>0x0431, 0xE2=>0x0432, 0xE3=>0x0433, 0xE4=>0x0434,
+0xE5=>0x0435, 0xE6=>0x0436, 0xE7=>0x0437, 0xE8=>0x0438, 0xE9=>0x0439,
+0xEA=>0x043A, 0xEB=>0x043B, 0xEC=>0x043C, 0xED=>0x043D, 0xEE=>0x043E,
+0xEF=>0x043F, 0xF0=>0x0440, 0xF1=>0x0441, 0xF2=>0x0442, 0xF3=>0x0443,
+0xF4=>0x0444, 0xF5=>0x0445, 0xF6=>0x0446, 0xF7=>0x0447, 0xF8=>0x0448,
+0xF9=>0x0449, 0xFA=>0x044A, 0xFB=>0x044B, 0xFC=>0x044C, 0xFD=>0x044D,
+0xFE=>0x044E, 0xFF=>0x044F);
+
+?>
diff --git a/www/ecrire/charsets/cp1256.php b/www/ecrire/charsets/cp1256.php
new file mode 100644
index 0000000..5036a0e
--- /dev/null
+++ b/www/ecrire/charsets/cp1256.php
@@ -0,0 +1,34 @@
+0x20AC, 0x81=>0x067E, 0x82=>0x201A, 0x83=>0x0192, 0x84=>0x201E,
+0x85=>0x2026, 0x86=>0x2020, 0x87=>0x2021, 0x88=>0x02C6, 0x89=>0x2030,
+0x8A=>0x0679, 0x8B=>0x2039, 0x8C=>0x0152, 0x8D=>0x0686, 0x8E=>0x0698,
+0x8F=>0x0688, 0x90=>0x06AF, 0x91=>0x2018, 0x92=>0x2019, 0x93=>0x201C,
+0x94=>0x201D, 0x95=>0x2022, 0x96=>0x2013, 0x97=>0x2014, 0x98=>0x06A9,
+0x99=>0x2122, 0x9A=>0x0691, 0x9B=>0x203A, 0x9C=>0x0153, 0x9D=>0x200C,
+0x9E=>0x200D, 0x9F=>0x06BA, 0xA0=>0x00A0, 0xA1=>0x060C, 0xA2=>0x00A2,
+0xA3=>0x00A3, 0xA4=>0x00A4, 0xA5=>0x00A5, 0xA6=>0x00A6, 0xA7=>0x00A7,
+0xA8=>0x00A8, 0xA9=>0x00A9, 0xAA=>0x06BE, 0xAB=>0x00AB, 0xAC=>0x00AC,
+0xAD=>0x00AD, 0xAE=>0x00AE, 0xAF=>0x00AF, 0xB0=>0x00B0, 0xB1=>0x00B1,
+0xB2=>0x00B2, 0xB3=>0x00B3, 0xB4=>0x00B4, 0xB5=>0x00B5, 0xB6=>0x00B6,
+0xB7=>0x00B7, 0xB8=>0x00B8, 0xB9=>0x00B9, 0xBA=>0x061B, 0xBB=>0x00BB,
+0xBC=>0x00BC, 0xBD=>0x00BD, 0xBE=>0x00BE, 0xBF=>0x061F, 0xC0=>0x06C1,
+0xC1=>0x0621, 0xC2=>0x0622, 0xC3=>0x0623, 0xC4=>0x0624, 0xC5=>0x0625,
+0xC6=>0x0626, 0xC7=>0x0627, 0xC8=>0x0628, 0xC9=>0x0629, 0xCA=>0x062A,
+0xCB=>0x062B, 0xCC=>0x062C, 0xCD=>0x062D, 0xCE=>0x062E, 0xCF=>0x062F,
+0xD0=>0x0630, 0xD1=>0x0631, 0xD2=>0x0632, 0xD3=>0x0633, 0xD4=>0x0634,
+0xD5=>0x0635, 0xD6=>0x0636, 0xD7=>0x00D7, 0xD8=>0x0637, 0xD9=>0x0638,
+0xDA=>0x0639, 0xDB=>0x063A, 0xDC=>0x0640, 0xDD=>0x0641, 0xDE=>0x0642,
+0xDF=>0x0643, 0xE0=>0x00E0, 0xE1=>0x0644, 0xE2=>0x00E2, 0xE3=>0x0645,
+0xE4=>0x0646, 0xE5=>0x0647, 0xE6=>0x0648, 0xE7=>0x00E7, 0xE8=>0x00E8,
+0xE9=>0x00E9, 0xEA=>0x00EA, 0xEB=>0x00EB, 0xEC=>0x0649, 0xED=>0x064A,
+0xEE=>0x00EE, 0xEF=>0x00EF, 0xF0=>0x064B, 0xF1=>0x064C, 0xF2=>0x064D,
+0xF3=>0x064E, 0xF4=>0x00F4, 0xF5=>0x064F, 0xF6=>0x0650, 0xF7=>0x00F7,
+0xF8=>0x0651, 0xF9=>0x00F9, 0xFA=>0x0652, 0xFB=>0x00FB, 0xFC=>0x00FC,
+0xFD=>0x200E, 0xFE=>0x200F, 0xFF=>0x06D2);
+
+?>
diff --git a/www/ecrire/charsets/html.php b/www/ecrire/charsets/html.php
new file mode 100644
index 0000000..0a89e88
--- /dev/null
+++ b/www/ecrire/charsets/html.php
@@ -0,0 +1,39 @@
+'“', 'rdquo'=>'”', 'bdquo'=>'„', 'cent'=>'¢', 'pound'=>'£',
+'curren'=>'¤', 'yen'=>'¥', 'brvbar'=>'¦', 'sect'=>'§',
+'uml'=>'¨', 'ordf'=>'ª', 'laquo'=>'«', 'lsquo'=>'‘', 'rsquo'=>'’', 'not'=>'¬',
+'shy'=>'', 'macr'=>'¯', 'deg'=>'°', 'plusmn'=>'±',
+'sup2'=>'²', 'sup3'=>'³', 'acute'=>'´', 'micro'=>'µ',
+'para'=>'¶', 'middot'=>'·', 'cedil'=>'¸', 'sup1'=>'¹',
+'ordm'=>'º', 'raquo'=>'»', 'iquest'=>'¿', 'Agrave'=>'À',
+'Aacute'=>'Á', 'Acirc'=>'Â', 'Atilde'=>'Ã', 'Auml'=>'Ä',
+'Aring'=>'Å', 'AElig'=>'Æ', 'Ccedil'=>'Ç', 'Egrave'=>'È',
+'Eacute'=>'É', 'Ecirc'=>'Ê', 'Euml'=>'Ë', 'Igrave'=>'Ì',
+'Iacute'=>'Í', 'Icirc'=>'Î', 'Iuml'=>'Ï', 'ETH'=>'Ð',
+'Ntilde'=>'Ñ', 'Ograve'=>'Ò', 'Oacute'=>'Ó', 'Ocirc'=>'Ô',
+'Otilde'=>'Õ', 'Ouml'=>'Ö', 'times'=>'×', 'Oslash'=>'Ø',
+'Ugrave'=>'Ù', 'Uacute'=>'Ú', 'Ucirc'=>'Û', 'Uuml'=>'Ü',
+'Yacute'=>'Ý', 'THORN'=>'Þ', 'szlig'=>'ß', 'agrave'=>'à',
+'Scaron'=>'Š', 'scaron'=>'š', 'zcaron'=>'ž', 'Zcaron'=>'Ž',
+'aacute'=>'á', 'acirc'=>'â', 'atilde'=>'ã', 'auml'=>'ä',
+'aring'=>'å', 'aelig'=>'æ', 'ccedil'=>'ç', 'egrave'=>'è',
+'eacute'=>'é', 'ecirc'=>'ê', 'euml'=>'ë', 'igrave'=>'ì',
+'iacute'=>'í', 'icirc'=>'î', 'iuml'=>'ï', 'eth'=>'ð',
+'ntilde'=>'ñ', 'ograve'=>'ò', 'oacute'=>'ó', 'ocirc'=>'ô',
+'otilde'=>'õ', 'ouml'=>'ö', 'divide'=>'÷', 'oslash'=>'ø',
+'ugrave'=>'ù', 'uacute'=>'ú', 'ucirc'=>'û', 'uuml'=>'ü',
+'yacute'=>'ý', 'thorn'=>'þ', 'nbsp' => " ", 'thinsp' =>' ', 'ensp' =>' ', 'emsp' =>' ', 'copy' => "(c)",
+'reg' => "(r)", 'frac14' => "1/4", 'frac12' => "1/2", 'frac34' => "3/4",
+'apos' => "'", 'mdash' => '—', 'ndash' => '–', 'hellip' =>'…',
+'euro' => '€', 'OElig' => 'Œ', 'oelig' => 'œ','iexcl' => '¡'
+
+);
+
+## caracteres tres speciaux a ne pas convertir
+#'amp' => '&', 'quot' => '"', 'lt' => '<', 'gt' => '>',
+
+?>
diff --git a/www/ecrire/charsets/index.php b/www/ecrire/charsets/index.php
new file mode 100644
index 0000000..62d8fe9
--- /dev/null
+++ b/www/ecrire/charsets/index.php
@@ -0,0 +1 @@
+X
diff --git a/www/ecrire/charsets/iso-8859-1.php b/www/ecrire/charsets/iso-8859-1.php
new file mode 100644
index 0000000..619b30f
--- /dev/null
+++ b/www/ecrire/charsets/iso-8859-1.php
@@ -0,0 +1,31 @@
+8364, 129=>129 /* ?? */, 130=>8218, 131=>402, 132=>8222, 133=>8230,
+134=>8224, 135=>8225, 136=>710, 137=>8240, 138=>352, 139=>8249, 140=>338,
+141=>141 /* ?? */, 142=>381, 143=>143 /* ?? */, 144=>144 /* ?? */, 145=>8216,
+146=>8217, 147=>8220, 148=>8221, 149=>8226, 150=>8211, 151=>8212, 152=>732,
+153=>8482, 154=>353, 155=>8250, 156=>339, 157=>157 /* ?? */, 158=>382, 159=>376,
+
+160=>160, 161=>161, 162=>162, 163=>163, 164=>164, 165=>165, 166=>166, 167=>167,
+168=>168, 169=>169, 170=>170, 171=>171, 172=>172, 173=>173, 174=>174, 175=>175,
+176=>176, 177=>177, 178=>178, 179=>179, 180=>180, 181=>181, 182=>182, 183=>183,
+184=>184, 185=>185, 186=>186, 187=>187, 188=>188, 189=>189, 190=>190, 191=>191,
+192=>192, 193=>193, 194=>194, 195=>195, 196=>196, 197=>197, 198=>198, 199=>199,
+200=>200, 201=>201, 202=>202, 203=>203, 204=>204, 205=>205, 206=>206, 207=>207,
+208=>208, 209=>209, 210=>210, 211=>211, 212=>212, 213=>213, 214=>214, 215=>215,
+216=>216, 217=>217, 218=>218, 219=>219, 220=>220, 221=>221, 222=>222, 223=>223,
+224=>224, 225=>225, 226=>226, 227=>227, 228=>228, 229=>229, 230=>230, 231=>231,
+232=>232, 233=>233, 234=>234, 235=>235, 236=>236, 237=>237, 238=>238, 239=>239,
+240=>240, 241=>241, 242=>242, 243=>243, 244=>244, 245=>245, 246=>246, 247=>247,
+248=>248, 249=>249, 250=>250, 251=>251, 252=>252, 253=>253, 254=>254, 255=>255
+
+);
+
+?>
diff --git a/www/ecrire/charsets/iso-8859-15.php b/www/ecrire/charsets/iso-8859-15.php
new file mode 100644
index 0000000..4d801b4
--- /dev/null
+++ b/www/ecrire/charsets/iso-8859-15.php
@@ -0,0 +1,31 @@
+
+
+load_charset('iso-8859-1');
+
+$trans = $GLOBALS['CHARSET']['iso-8859-1'];
+$trans[164]=8364;
+$trans[166]=352;
+$trans[168]=353;
+$trans[180]=381;
+$trans[184]=382;
+$trans[188]=338;
+$trans[189]=339;
+$trans[190]=376;
+
+$GLOBALS['CHARSET']['iso-8859-15'] = $trans;
+
+?>
diff --git a/www/ecrire/charsets/iso-8859-6.php b/www/ecrire/charsets/iso-8859-6.php
new file mode 100644
index 0000000..51c87dc
--- /dev/null
+++ b/www/ecrire/charsets/iso-8859-6.php
@@ -0,0 +1,41 @@
+0x00A0, 0xA4=>0x00A4, 0xAC=>0x060C, 0xAD=>0x00AD, 0xBB=>0x061B,
+0xBF=>0x061F, 0xC1=>0x0621, 0xC2=>0x0622, 0xC3=>0x0623, 0xC4=>0x0624,
+0xC5=>0x0625, 0xC6=>0x0626, 0xC7=>0x0627, 0xC8=>0x0628, 0xC9=>0x0629,
+0xCA=>0x062A, 0xCB=>0x062B, 0xCC=>0x062C, 0xCD=>0x062D, 0xCE=>0x062E,
+0xCF=>0x062F, 0xD0=>0x0630, 0xD1=>0x0631, 0xD2=>0x0632, 0xD3=>0x0633,
+0xD4=>0x0634, 0xD5=>0x0635, 0xD6=>0x0636, 0xD7=>0x0637, 0xD8=>0x0638,
+0xD9=>0x0639, 0xDA=>0x063A, 0xE0=>0x0640, 0xE1=>0x0641, 0xE2=>0x0642,
+0xE3=>0x0643, 0xE4=>0x0644, 0xE5=>0x0645, 0xE6=>0x0646, 0xE7=>0x0647,
+0xE8=>0x0648, 0xE9=>0x0649, 0xEA=>0x064A, 0xEB=>0x064B, 0xEC=>0x064C,
+0xED=>0x064D, 0xEE=>0x064E, 0xEF=>0x064F, 0xF0=>0x0650, 0xF1=>0x0651,
+0xF2=>0x0652
+);
+
+foreach ($mod as $num=>$val)
+ $trans[$num]=$val;
+
+$GLOBALS['CHARSET']['iso-8859-6'] = $trans;
+
+?>
diff --git a/www/ecrire/charsets/iso-8859-9.php b/www/ecrire/charsets/iso-8859-9.php
new file mode 100644
index 0000000..f34f1e6
--- /dev/null
+++ b/www/ecrire/charsets/iso-8859-9.php
@@ -0,0 +1,29 @@
+
+
+load_charset('iso-8859-1');
+
+$trans = $GLOBALS['CHARSET']['iso-8859-1'];
+$trans[240]=287; //gbreve
+$trans[208]=286; //Gbreve
+$trans[221]=304; //Idot
+$trans[253]=305; //inodot
+$trans[254]=351; //scedil
+$trans[222]=350; //Scedil
+
+$GLOBALS['CHARSET']['iso-8859-9'] = $trans;
+
+?>
diff --git a/www/ecrire/charsets/mathml.php b/www/ecrire/charsets/mathml.php
new file mode 100644
index 0000000..9264fdc
--- /dev/null
+++ b/www/ecrire/charsets/mathml.php
@@ -0,0 +1,1693 @@
+ '',
+'acd' => '',
+'acE' => '&E#290;',
+'acute' => '́',
+'Afr' => '',
+'afr' => '',
+'aleph' => 'ℵ',
+'alpha' => 'α',
+'amalg' => '',
+'amp' => '&',
+'And' => '∧',
+'and' => '∧',
+'andand' => '',
+'andd' => '',
+'andslope' => '',
+'andv' => '',
+'ang' => '∠',
+'ange' => '',
+'angle' => '∠',
+'angmsd' => '∡',
+'angmsdaa' => '',
+'angmsdab' => '',
+'angmsdac' => '',
+'angmsdad' => '',
+'angmsdae' => '',
+'angmsdaf' => '',
+'angmsdag' => '',
+'angmsdah' => '',
+'angrt' => '∟',
+'angrtvb' => '',
+'angrtvbd' => '',
+'angsph' => '∢',
+'angst' => 'Å',
+'angzarr' => '',
+'Aopf' => '',
+'ap' => '≈',
+'apacir' => '',
+'apE' => '',
+'ape' => '≊',
+'apid' => '≋',
+'apos' => ''',
+'approx' => '≈',
+'approxeq' => '≊',
+'Ascr' => '',
+'ascr' => '',
+'ast' => '∗',
+'asymp' => '≍',
+'awconint' => '∳',
+'awint' => '',
+'backcong' => '≌',
+'backepsilon' => '',
+'backprime' => '‵',
+'backsim' => '∽',
+'backsimeq' => '⋍',
+'Backslash' => '∖',
+'Barv' => '',
+'barvee' => '⊽',
+'Barwed' => '⌆',
+'barwed' => '⊼',
+'barwedge' => '⊼',
+'bbrk' => '',
+'bbrktbrk' => '',
+'bcong' => '≌',
+'becaus' => '∵',
+'Because' => '∵',
+'because' => '∵',
+'bemptyv' => '',
+'benzen' => '',
+'benzena' => '',
+'benzenb' => '',
+'benzenc' => '',
+'benzend' => '',
+'benzene' => '',
+'benzenf' => '',
+'benzeng' => '',
+'benzenh' => '',
+'benzeni' => '',
+'benzenj' => '',
+'benzenk' => '',
+'benzenl' => '',
+'benzenm' => '',
+'benzenn' => '',
+'benzeno' => '',
+'benzenp' => '',
+'benzenq' => '',
+'benzenr' => '',
+'bepsi' => '',
+'bernou' => 'ℬ',
+'beta' => 'β',
+'beth' => 'ℶ',
+'between' => '≬',
+'Bfr' => '',
+'bfr' => '',
+'bigcap' => '⋂',
+'bigcirc' => '○',
+'bigcup' => '⋃',
+'bigodot' => '⊙',
+'bigoplus' => '⊕',
+'bigotimes' => '⊗',
+'bigsqcup' => '⊔',
+'bigstar' => '★',
+'bigtriangledown' => '▽',
+'bigtriangleup' => '△',
+'biguplus' => '⊎',
+'bigvee' => '⋁',
+'bigwedge' => '⋀',
+'bkarow' => '',
+'blacklozenge' => '',
+'blacksquare' => '■',
+'blacktriangle' => '▴',
+'blacktriangledown' => '▾',
+'blacktriangleleft' => '◂',
+'blacktriangleright' => '▸',
+'blank' => '',
+'blk12' => '▒',
+'blk14' => '░',
+'blk34' => '▓',
+'block' => '█',
+'bne' => '',
+'bnequiv' => '',
+'bNot' => '',
+'bnot' => '⌐',
+'Bopf' => '',
+'bot' => '⊥',
+'bottom' => '⊥',
+'bowtie' => '⋈',
+'boxbox' => '',
+'boxminus' => '⊟',
+'boxplus' => '⊞',
+'boxtimes' => '⊠',
+'bprime' => '‵',
+'Breve' => '̆',
+'breve' => '̆',
+'brvbar' => '¦',
+'Bscr' => '',
+'bscr' => '',
+'bsemi' => '',
+'bsim' => '∽',
+'bsime' => '⋍',
+'bsol' => '\',
+'bsolb' => '',
+'bsolhsub' => '',
+'bull' => '•',
+'bullet' => '•',
+'bump' => '≎',
+'bumpe' => '≏',
+'Bumpeq' => '≎',
+'bumpeq' => '≏',
+'Cap' => '⋒',
+'cap' => '∩',
+'capand' => '',
+'capbrcup' => '',
+'capcap' => '',
+'capcup' => '',
+'capdot' => '',
+'caps' => '',
+'caret' => '‸',
+'caron' => '̌',
+'ccaps' => '',
+'Cconint' => '∰',
+'ccups' => '',
+'ccupssm' => '',
+'cdot' => '⋅',
+'cedil' => '̧',
+'Cedilla' => '̧',
+'cemptyv' => '',
+'cent' => '¢',
+'CenterDot' => '·',
+'centerdot' => '·',
+'Cfr' => '',
+'cfr' => '',
+'check' => '✓',
+'checkmark' => '✓',
+'chi' => 'χ',
+'cir' => '∘',
+'circ' => '∘',
+'circeq' => '≗',
+'circle' => '',
+'circlearrowleft' => '↺',
+'circlearrowright' => '↻',
+'circledast' => '⊛',
+'circledcirc' => '⊚',
+'circleddash' => '⊝',
+'CircleDot' => '⊙',
+'circledR' => '¯',
+'circledS' => '',
+'circlef' => '●',
+'circlefb' => '◒',
+'circlefl' => '◐',
+'circlefr' => '◑',
+'circleft' => '◓',
+'CircleMinus' => '⊖',
+'CirclePlus' => '⊕',
+'CircleTimes' => '⊗',
+'cirE' => '',
+'cire' => '≗',
+'cirfnint' => '',
+'cirmid' => '',
+'cirscir' => '',
+'ClockwiseContourIntegral' => '∲',
+'CloseCurlyDoubleQuote' => '”',
+'CloseCurlyQuote' => '’',
+'clubs' => '♣',
+'clubsuit' => '♣',
+'Colon' => '∷',
+'colon' => ':',
+'Colone' => '',
+'colone' => '≔',
+'coloneq' => '≔',
+'comma' => ',',
+'commat' => '@',
+'comp' => '∁',
+'compfn' => '∘',
+'complement' => '∁',
+'cong' => '≅',
+'congdot' => '',
+'Congruent' => '≡',
+'Conint' => '∯',
+'conint' => '∮',
+'ContourIntegral' => '∮',
+'Copf' => 'ℂ',
+'coprod' => '∐',
+'Coproduct' => '∐',
+'copy' => '©',
+'copysr' => '℗',
+'CounterClockwiseContourIntegral' => '∳',
+'cross' => '☒',
+'Cscr' => '',
+'cscr' => '',
+'csub' => '',
+'csube' => '',
+'csup' => '',
+'csupe' => '',
+'ctdot' => '⋯',
+'cudarrl' => '',
+'cudarrr' => '',
+'cuepr' => '⋞',
+'cuesc' => '⋟',
+'cularr' => '↶',
+'cularrp' => '',
+'Cup' => '⌣',
+'cup' => '∪',
+'cupbrcap' => '',
+'CupCap' => '≍',
+'cupcap' => '',
+'cupcup' => '',
+'cupdot' => '⊍',
+'cupor' => '',
+'cups' => '',
+'curarr' => '↷',
+'curarrm' => '',
+'curlyeqprec' => '⋞',
+'curlyeqsucc' => '⋟',
+'curlyvee' => '⋎',
+'curlywedge' => '⋏',
+'curren' => '¤',
+'curvearrowleft' => '↶',
+'curvearrowright' => '↷',
+'cuvee' => '⋎',
+'cuwed' => '⋏',
+'cwconint' => '∲',
+'cwint' => '∱',
+'cylcty' => '⌭',
+'Dagger' => '‡',
+'dagger' => '†',
+'daleth' => 'ℸ',
+'Darr' => '↡',
+'dArr' => '⇓',
+'darr' => '↓',
+'dash' => '‐',
+'Dashv' => '',
+'dashv' => '⊣',
+'dbkarow' => '',
+'dblac' => '̋',
+'ddagger' => '‡',
+'ddarr' => '⇊',
+'DDotrahd' => '',
+'ddotseq' => '',
+'deg' => '°',
+'Del' => '∇',
+'Delta' => 'Δ',
+'delta' => 'δ',
+'demptyv' => '',
+'dfisht' => '',
+'Dfr' => '',
+'dfr' => '',
+'dHar' => '',
+'dharl' => '⇃',
+'dharr' => '⇂',
+'DiacriticalAcute' => '́',
+'DiacriticalDot' => '̇',
+'DiacriticalDoubleAcute' => '̋',
+'DiacriticalGrave' => '̀',
+'DiacriticalLeftArrow' => '⃖',
+'DiacriticalLeftRightArrow' => '⃡',
+'DiacriticalLeftRightVector' => '',
+'DiacriticalLeftVector' => '⃐',
+'DiacriticalRightArrow' => '⃗',
+'DiacriticalRightVector' => '⃑',
+'DiacriticalTilde' => '̃',
+'diam' => '⋄',
+'diamond' => '⋄',
+'diamondf' => '',
+'diamondsuit' => '♢',
+'diamonfb' => '',
+'diamonfl' => '',
+'diamonfr' => '',
+'diamonft' => '',
+'diams' => '♢',
+'die' => '̈',
+'digamma' => 'Ϝ',
+'disin' => '',
+'div' => '÷',
+'divide' => '÷',
+'divideontimes' => '⋇',
+'divonx' => '⋇',
+'dlcorn' => '⌞',
+'dlcrop' => '⌍',
+'dollar' => '$',
+'Dopf' => '',
+'Dot' => '̈',
+'dot' => '̇',
+'DotDot' => '⃜',
+'doteq' => '≐',
+'doteqdot' => '≑',
+'DotEqual' => '≐',
+'dotminus' => '∸',
+'dotplus' => '∔',
+'dotsquare' => '⊡',
+'doublebarwedge' => '⌆',
+'DoubleContourIntegral' => '∯',
+'DoubleDot' => '̈',
+'DoubleDownArrow' => '⇓',
+'DoubleLeftArrow' => '⇐',
+'DoubleLeftRightArrow' => '⇔',
+'DoubleLongLeftArrow' => '',
+'DoubleLongLeftRightArrow' => '',
+'DoubleLongRightArrow' => '',
+'DoubleRightArrow' => '⇒',
+'DoubleRightTee' => '⊨',
+'DoubleUpArrow' => '⇑',
+'DoubleUpDownArrow' => '⇕',
+'DoubleVerticalBar' => '∥',
+'DownArrow' => '↓',
+'Downarrow' => '⇓',
+'downarrow' => '↓',
+'DownArrowUpArrow' => '',
+'downdownarrows' => '⇊',
+'downharpoonleft' => '⇃',
+'downharpoonright' => '⇂',
+'DownLeftVector' => '↽',
+'DownRightVector' => '⇁',
+'DownTee' => '⊤',
+'drbkarow' => '',
+'drcorn' => '⌟',
+'drcrop' => '⌌',
+'Dscr' => '',
+'dscr' => '',
+'dsol' => '',
+'dtdot' => '⋱',
+'dtri' => '▿',
+'dtrif' => '▾',
+'duarr' => '',
+'duhar' => '',
+'dwangle' => '',
+'dzigrarr' => '⇝',
+'easter' => '≛',
+'ecir' => '≖',
+'ecolon' => '≕',
+'eDDot' => '',
+'eDot' => '≑',
+'efDot' => '≒',
+'Efr' => '',
+'efr' => '',
+'eg' => '',
+'egs' => '⋝',
+'egsdot' => '',
+'el' => '',
+'Element' => '∈',
+'elinters' => '',
+'ell' => 'ℓ',
+'els' => '⋜',
+'elsdot' => '',
+'empty' => '',
+'emptyset' => '',
+'emptyv' => '∅',
+'emsp' => ' ',
+'emsp13' => ' ',
+'emsp14' => ' ',
+'ensp' => ' ',
+'Eopf' => '',
+'epar' => '⋕',
+'eparsl' => '',
+'eplus' => '',
+'epsi' => '∊',
+'epsiv' => 'ε',
+'eqcirc' => '≖',
+'eqcolon' => '≕',
+'eqsim' => '≂',
+'eqslantgtr' => '⋝',
+'eqslantless' => '⋜',
+'equals' => '=',
+'EqualTilde' => '≂',
+'equest' => '≟',
+'Equilibrium' => '⇌',
+'equiv' => '≡',
+'equivDD' => '',
+'eqvparsl' => '',
+'erarr' => '',
+'erDot' => '≓',
+'Escr' => '',
+'escr' => '',
+'esdot' => '≐',
+'Esim' => '',
+'esim' => '≂',
+'eta' => 'η',
+'excl' => '!',
+'exist' => '∃',
+'Exists' => '∃',
+'fallingdotseq' => '≒',
+'female' => '♀',
+'ffilig' => 'ffi',
+'fflig' => 'ff',
+'ffllig' => 'ffl',
+'Ffr' => '',
+'ffr' => '',
+'filig' => 'fi',
+'fjlig' => '',
+'flat' => '♭',
+'fllig' => 'fl',
+'fltns' => '',
+'Fopf' => '',
+'ForAll' => '∀',
+'forall' => '∀',
+'fork' => '⋔',
+'forkv' => '',
+'fpartint' => '',
+'frac12' => '½',
+'frac13' => '⅓',
+'frac14' => '¼',
+'frac15' => '⅕',
+'frac16' => '⅙',
+'frac18' => '⅛',
+'frac23' => '≔',
+'frac25' => '⅖',
+'frac34' => '¾',
+'frac35' => '⅗',
+'frac38' => '⅜',
+'frac45' => '⅘',
+'frac56' => '⅚',
+'frac58' => '⅝',
+'frac78' => '⅞',
+'frown' => '⌢',
+'Fscr' => '',
+'fscr' => '',
+'Gamma' => 'Γ',
+'gamma' => 'γ',
+'Gammad' => 'Ϝ',
+'gammad' => 'Ϝ',
+'gap' => '≳',
+'gE' => '≧',
+'ge' => '≥',
+'gEl' => '⋛',
+'gel' => '⋛',
+'geq' => '≥',
+'geqq' => '≧',
+'geqslant' => '',
+'ges' => '',
+'gescc' => '',
+'gesdot' => '',
+'gesdoto' => '',
+'gesdotol' => '',
+'gesl' => '',
+'gesles' => '',
+'Gfr' => '',
+'gfr' => '',
+'Gg' => '⋙',
+'gg' => '≫',
+'ggg' => '⋙',
+'gimel' => 'ℷ',
+'gl' => '≷',
+'gla' => '',
+'glE' => '',
+'glj' => '',
+'gnap' => '',
+'gnapprox' => '',
+'gnE' => '≩',
+'gne' => '≩',
+'gneq' => '≩',
+'gneqq' => '≩',
+'gnsim' => '⋧',
+'Gopf' => '',
+'grave' => '̀',
+'GreaterEqual' => '≥',
+'GreaterEqualLess' => '⋛',
+'GreaterFullEqual' => '≧',
+'GreaterLess' => '≷',
+'GreaterSlantEqual' => '',
+'GreaterTilde' => '≳',
+'Gscr' => '',
+'gscr' => '',
+'gsim' => '≳',
+'gsime' => '',
+'gsiml' => '',
+'Gt' => '≫',
+'gt' => '>',
+'gtcc' => '',
+'gtcir' => '',
+'gtdot' => '⋗',
+'gtlPar' => '',
+'gtquest' => '',
+'gtrapprox' => '≳',
+'gtrarr' => '',
+'gtrdot' => '⋗',
+'gtreqless' => '⋛',
+'gtreqqless' => '⋛',
+'gtrless' => '≷',
+'gtrsim' => '≳',
+'gvertneqq' => '',
+'gvnE' => '',
+'Hacek' => '̌',
+'hairsp' => ' ',
+'half' => '½',
+'hamilt' => 'ℋ',
+'hArr' => '⇔',
+'harr' => '↔',
+'harrcir' => '',
+'harrw' => '↭',
+'Hat' => '̂',
+'hbar' => '',
+'hbenzen' => '',
+'hbenzena' => '',
+'hbenzenb' => '',
+'hbenzenc' => '',
+'hbenzend' => '',
+'hbenzene' => '',
+'hbenzenf' => '',
+'hbenzeng' => '',
+'hbenzenh' => '',
+'hbenzeni' => '',
+'hbenzenj' => '',
+'hbenzenk' => '',
+'hbenzenl' => '',
+'hbenzenm' => '',
+'hbenzenn' => '',
+'hbenzeno' => '',
+'hbenzenp' => '',
+'hbenzenq' => '',
+'hbenzenr' => '',
+'hearts' => '♡',
+'heartsuit' => '♡',
+'hellip' => '…',
+'hercon' => '⊹',
+'Hfr' => '',
+'hfr' => '',
+'hksearow' => '',
+'hkswarow' => '',
+'hoarr' => '',
+'homtht' => '∻',
+'hookleftarrow' => '↩',
+'hookrightarrow' => '↪',
+'Hopf' => '',
+'horbar' => '―',
+'Hscr' => '',
+'hscr' => '',
+'hslash' => 'ℏ',
+'HumpDownHump' => '≎',
+'HumpEqual' => '≏',
+'hybull' => '⁃',
+'hyphen' => '',
+'iexcl' => '¡',
+'iff' => '',
+'Ifr' => '',
+'ifr' => '',
+'iiiint' => '',
+'iiint' => '∭',
+'iinfin' => '',
+'iiota' => '℩',
+'Im' => 'ℑ',
+'image' => 'ℑ',
+'imath' => 'ı',
+'imof' => '⊷',
+'imped' => '',
+'Implies' => '⇒',
+'in' => '∊',
+'incare' => '℅',
+'infin' => '∞',
+'infintie' => '',
+'Int' => '∬',
+'int' => '∫',
+'intcal' => '⊺',
+'Integral' => '∫',
+'intercal' => '⊺',
+'Intersection' => '⋂',
+'intlarhk' => '',
+'intprod' => '',
+'Iopf' => '',
+'iota' => 'ι',
+'iprod' => '',
+'iquest' => '¿',
+'Iscr' => '',
+'iscr' => '',
+'isin' => '∊',
+'isindot' => '',
+'isinE' => '',
+'isins' => '',
+'isinsv' => '',
+'isinv' => '∈',
+'Jfr' => '',
+'jfr' => '',
+'jmath' => '',
+'Jopf' => '',
+'Jscr' => '',
+'jscr' => '',
+'kappa' => 'κ',
+'kappav' => 'ϰ',
+'Kfr' => '',
+'kfr' => '',
+'Kopf' => '',
+'Kscr' => '',
+'kscr' => '',
+'lAarr' => '⇚',
+'laemptyv' => '',
+'lagran' => 'ℒ',
+'Lambda' => 'Λ',
+'lambda' => 'λ',
+'Lang' => '《',
+'lang' => '〈',
+'langd' => '',
+'langle' => '〈',
+'lap' => '≲',
+'laquo' => '«',
+'Larr' => '↞',
+'lArr' => '⇐',
+'larr' => '←',
+'larrbfs' => '',
+'larrfs' => '',
+'larrhk' => '↩',
+'larrlp' => '↫',
+'larrpl' => '',
+'larrsim' => '',
+'larrtl' => '↢',
+'lat' => '',
+'lAtail' => '',
+'latail' => '',
+'late' => '',
+'lates' => '',
+'lBarr' => '',
+'lbarr' => '',
+'lbbrk' => '〔',
+'lbrace' => '{',
+'lbrack' => '[',
+'lbrke' => '',
+'lbrksld' => '',
+'lbrkslu' => '',
+'lceil' => '⌈',
+'lcub' => '{',
+'ldca' => '',
+'ldquo' => '“',
+'ldquor' => '„',
+'ldrdhar' => '',
+'ldrushar' => '',
+'ldsh' => '↲',
+'lE' => '≦',
+'le' => '≤',
+'LeftAngleBracket' => '〈',
+'LeftArrow' => '←',
+'Leftarrow' => '⇐',
+'leftarrow' => '←',
+'LeftArrowRightArrow' => '⇆',
+'leftarrowtail' => '↢',
+'LeftCeiling' => '⌈',
+'LeftDownVector' => '⇃',
+'LeftFloor' => '⌊',
+'leftharpoondown' => '↽',
+'leftharpoonup' => '↼',
+'leftleftarrows' => '⇇',
+'LeftRightArrow' => '↔',
+'Leftrightarrow' => '⇔',
+'leftrightarrow' => '↔',
+'leftrightarrows' => '⇆',
+'leftrightharpoons' => '⇋',
+'leftrightsquigarrow' => '↭',
+'LeftTee' => '⊣',
+'leftthreetimes' => '⋋',
+'LeftTriangle' => '⊲',
+'LeftTriangleEqual' => '⊴',
+'LeftUpVector' => '↿',
+'LeftVector' => '↼',
+'lEg' => '⋚',
+'leg' => '⋚',
+'leq' => '≤',
+'leqq' => '≦',
+'leqslant' => '',
+'les' => '',
+'lescc' => '',
+'lesdot' => '',
+'lesdoto' => '',
+'lesdotor' => '',
+'lesg' => '',
+'lesges' => '',
+'lessapprox' => '≲',
+'lessdot' => '⋖',
+'lesseqgtr' => '⋚',
+'lesseqqgtr' => '⋚',
+'LessEqualGreater' => '⋚',
+'LessFullEqual' => '≦',
+'LessGreater' => '≶',
+'lessgtr' => '≶',
+'lesssim' => '≲',
+'LessSlantEqual' => '',
+'LessTilde' => '≲',
+'lfisht' => '',
+'lfloor' => '⌊',
+'Lfr' => '',
+'lfr' => '',
+'lg' => '≶',
+'lgE' => '',
+'lHar' => '',
+'lhard' => '↽',
+'lharu' => '↼',
+'lharul' => '',
+'lhblk' => '▄',
+'Ll' => '⋘',
+'ll' => '≪',
+'llarr' => '⇇',
+'llcorner' => '⌞',
+'Lleftarrow' => '⇚',
+'llhard' => '',
+'lltri' => '',
+'lmoust' => '',
+'lmoustache' => '',
+'lnap' => '',
+'lnapprox' => '',
+'lnE' => '≨',
+'lne' => '≨',
+'lneq' => '≨',
+'lneqq' => '≨',
+'lnsim' => '⋦',
+'loang' => '〘',
+'loarr' => '',
+'lobrk' => '〚',
+'LongLeftArrow' => '',
+'Longleftarrow' => '',
+'longleftarrow' => '',
+'LongLeftRightArrow' => '',
+'Longleftrightarrow' => '',
+'longleftrightarrow' => '',
+'longmapsto' => '',
+'LongRightArrow' => '',
+'Longrightarrow' => '',
+'longrightarrow' => '',
+'looparrowleft' => '↫',
+'looparrowright' => '↬',
+'lopar' => '',
+'Lopf' => '',
+'loplus' => '',
+'lotimes' => '',
+'lowast' => '∗',
+'lowbar' => '_',
+'LowerLeftArrow' => '↙',
+'LowerRightArrow' => '↘',
+'loz' => '◊',
+'lozenge' => '◊',
+'lozf' => '',
+'lpar' => '(',
+'lparlt' => '',
+'lrarr' => '⇆',
+'lrcorner' => '⌟',
+'lrhar' => '⇋',
+'lrhard' => '',
+'lrtri' => '',
+'Lscr' => '',
+'lscr' => '',
+'Lsh' => '↰',
+'lsh' => '↰',
+'lsim' => '≲',
+'lsime' => '',
+'lsimg' => '',
+'lsqb' => '[',
+'lsquo' => '‘',
+'lsquor' => '‚',
+'Lt' => '≪',
+'lt' => '<',
+'ltcc' => '',
+'ltcir' => '',
+'ltdot' => '⋖',
+'lthree' => '⋋',
+'ltimes' => '⋉',
+'ltlarr' => '',
+'ltquest' => '',
+'ltri' => '◃',
+'ltrie' => '⊴',
+'ltrif' => '◂',
+'ltrPar' => '',
+'lurdshar' => '',
+'luruhar' => '',
+'lvertneqq' => '',
+'lvnE' => '',
+'macr' => '̄',
+'male' => '♂',
+'malt' => '✠',
+'maltese' => '✠',
+'Map' => '',
+'map' => '↦',
+'mapsto' => '↦',
+'marker' => '',
+'mcomma' => '',
+'mdash' => '—',
+'mDDot' => '∺',
+'measuredangle' => '∡',
+'Mfr' => '',
+'mfr' => '',
+'mho' => '℧',
+'micro' => 'µ',
+'mid' => '∣',
+'midast' => '∗',
+'midcir' => '',
+'middot' => '·',
+'minus' => '−',
+'minusb' => '⊟',
+'minusd' => '∸',
+'minusdu' => '',
+'MinusPlus' => '∓',
+'mlcp' => '',
+'mldr' => '',
+'mnplus' => '∓',
+'models' => '⊧',
+'Mopf' => '',
+'mp' => '∓',
+'Mscr' => '',
+'mscr' => '',
+'mstpos' => '∾',
+'mu' => 'μ',
+'multimap' => '⊸',
+'mumap' => '⊸',
+'nabla' => '∇',
+'nang' => '',
+'nap' => '≉',
+'napE' => '',
+'napid' => '',
+'napprox' => '≉',
+'natur' => '♮',
+'natural' => '♮',
+'nbsp' => ' ',
+'ncap' => '',
+'ncong' => '≇',
+'ncongdot' => '',
+'ncup' => '',
+'ndash' => '–',
+'ne' => '≠',
+'nearhk' => '',
+'neArr' => '⇗',
+'nearr' => '↗',
+'nearrow' => '↗',
+'nedot' => '',
+'nequiv' => '≢',
+'nesear' => '',
+'NestedGreaterGreater' => '≫',
+'NestedLessLess' => '≪',
+'nexist' => '∄',
+'nexists' => '∄',
+'Nfr' => '',
+'nfr' => '',
+'ngE' => '≱',
+'nge' => '',
+'ngeq' => '',
+'ngeqq' => '≱',
+'ngeqslant' => '≱',
+'nges' => '≱',
+'nGg' => '',
+'ngsim' => '≵',
+'nGt' => '',
+'ngt' => '≯',
+'ngtr' => '≯',
+'nGtv' => '',
+'nhArr' => '⇎',
+'nharr' => '↮',
+'nhpar' => '',
+'ni' => '∍',
+'nis' => '',
+'nisd' => '',
+'niv' => '∋',
+'nlArr' => '⇍',
+'nlarr' => '↚',
+'nldr' => '‥',
+'nlE' => '≰',
+'nle' => '',
+'nLeftarrow' => '⇍',
+'nleftarrow' => '↚',
+'nLeftrightarrow' => '⇎',
+'nleftrightarrow' => '↮',
+'nleq' => '',
+'nleqq' => '≰',
+'nleqslant' => '≰',
+'nles' => '≰',
+'nless' => '≮',
+'nLl' => '',
+'nlsim' => '≴',
+'nLt' => '',
+'nlt' => '≮',
+'nltri' => '⋪',
+'nltrie' => '⋬',
+'nLtv' => '',
+'nmid' => '∤',
+'Nopf' => 'ℕ',
+'Not' => '',
+'not' => '¬',
+'NotCongruent' => '≢',
+'NotDoubleVerticalBar' => '∦',
+'NotElement' => '∉',
+'NotEqual' => '≠',
+'NotExists' => '∄',
+'NotGreater' => '≯',
+'NotGreaterEqual' => '',
+'NotGreaterFullEqual' => '≰',
+'NotGreaterGreater' => '',
+'NotGreaterLess' => '≹',
+'NotGreaterSlantEqual' => '≱',
+'NotGreaterTilde' => '≵',
+'notin' => '∉',
+'notindot' => '',
+'notinE' => '',
+'notinva' => '',
+'notinvb' => '',
+'notinvc' => '',
+'NotLeftTriangle' => '⋪',
+'NotLeftTriangleEqual' => '⋬',
+'NotLess' => '≮',
+'NotLessEqual' => '',
+'NotLessFullEqual' => '≰',
+'NotLessGreater' => '≸',
+'NotLessLess' => '',
+'NotLessSlantEqual' => '≰',
+'NotLessTilde' => '≴',
+'notni' => '∌',
+'notniva' => '∌',
+'notnivb' => '',
+'notnivc' => '',
+'NotPrecedes' => '⊀',
+'NotPrecedesEqual' => '',
+'NotPrecedesSlantEqual' => '⋠',
+'NotReverseElement' => '∌',
+'NotRightTriangle' => '⋫',
+'NotRightTriangleEqual' => '⋭',
+'NotSquareSubsetEqual' => '⋢',
+'NotSquareSupersetEqual' => '⋣',
+'NotSubset' => '⊄',
+'NotSucceeds' => '⊁',
+'NotSucceedsEqual' => '',
+'NotSucceedsSlantEqual' => '⋡',
+'NotSuperset' => '⊅',
+'NotTilde' => '≁',
+'NotTildeEqual' => '≄',
+'NotTildeFullEqual' => '≇',
+'NotTildeTilde' => '≉',
+'NotVerticalBar' => '∤',
+'npar' => '∦',
+'nparallel' => '∦',
+'nparsl' => '',
+'npart' => '',
+'npolint' => '',
+'npr' => '⊀',
+'nprcue' => '⋠',
+'npre' => '',
+'nprec' => '⊀',
+'npreceq' => '',
+'nrArr' => '⇏',
+'nrarr' => '↛',
+'nrarrc' => '',
+'nrarrw' => '',
+'nRightarrow' => '⇏',
+'nrightarrow' => '↛',
+'nrtri' => '⋫',
+'nrtrie' => '⋭',
+'nsc' => '⊁',
+'nsccue' => '⋡',
+'nsce' => '',
+'Nscr' => '',
+'nscr' => '',
+'nshortmid' => '',
+'nshortparallel' => '',
+'nsim' => '≁',
+'nsime' => '≄',
+'nsimeq' => '≄',
+'nsmid' => '',
+'nspar' => '',
+'nsqsube' => '⋢',
+'nsqsupe' => '⋣',
+'nsub' => '⊄',
+'nsubE' => '⊈',
+'nsube' => '⊈',
+'nsubset' => '⊄',
+'nsubseteq' => '⊈',
+'nsubseteqq' => '⊈',
+'nsucc' => '⊁',
+'nsucceq' => '',
+'nsup' => '⊅',
+'nsupE' => '⊉',
+'nsupe' => '⊉',
+'nsupset' => '⊅',
+'nsupseteq' => '⊉',
+'nsupseteqq' => '⊉',
+'ntgl' => '≹',
+'ntlg' => '≸',
+'ntriangleleft' => '⋪',
+'ntrianglelefteq' => '⋬',
+'ntriangleright' => '⋫',
+'ntrianglerighteq' => '⋭',
+'ntvgl' => '≹',
+'ntvlg' => '≸',
+'nu' => 'ν',
+'num' => '#',
+'numsp' => ' ',
+'nvap' => '',
+'nVDash' => '⊯',
+'nVdash' => '⊮',
+'nvDash' => '⊭',
+'nvdash' => '⊬',
+'nvge' => '≱',
+'nvgt' => '≯',
+'nvhArr*' => '⇎',
+'nvinfin' => '',
+'nvlArr' => '⇍',
+'nvle' => '≰',
+'nvlt' => '≮',
+'nvltrie' => '',
+'nvrArr' => '⇏',
+'nvrtrie' => '',
+'nvsim' => '',
+'nwarhk' => '',
+'nwArr' => '⇖',
+'nwarr' => '↖',
+'nwarrow' => '↖',
+'nwnear' => '',
+'oast' => '⊛',
+'ocir' => '⊚',
+'odash' => '⊝',
+'odiv' => '',
+'odot' => '⊙',
+'odsold' => '',
+'ofcir' => '',
+'Ofr' => '',
+'ofr' => '',
+'ogon' => '̨',
+'ogt' => '',
+'ohbar' => '',
+'ohm' => 'Ω',
+'oint' => '∮',
+'olarr' => '↺',
+'olcir' => '',
+'olcross' => '',
+'olt' => '',
+'Omega' => 'Ω',
+'omega' => 'ω',
+'omicron' => 'ξ',
+'omid' => '',
+'ominus' => '⊖',
+'Oopf' => '',
+'opar' => '',
+'OpenCurlyDoubleQuote' => '“',
+'OpenCurlyQuote' => '‘',
+'operp' => '',
+'oplus' => '⊕',
+'Or' => '',
+'or' => '∨',
+'orarr' => '↻',
+'ord' => '',
+'order' => 'ℴ',
+'ordf' => 'ª',
+'ordm' => 'º',
+'origof' => '⊶',
+'oror' => '',
+'orslope' => '',
+'orv' => '',
+'oS' => '',
+'Oscr' => '',
+'oscr' => '',
+'oslash' => '⊘',
+'osol' => '⊘',
+'Otimes' => '',
+'otimes' => '⊗',
+'otimesas' => '',
+'ovbar' => '',
+'OverLine' => '̅',
+'par' => '∥',
+'para' => '¶',
+'parallel' => '∥',
+'parsim' => '',
+'parsl' => '',
+'part' => '∂',
+'PartialD' => '∂',
+'percnt' => '%',
+'period' => '.',
+'permil' => '‰',
+'perp' => '⊥',
+'pertenk' => '‱',
+'Pfr' => '',
+'pfr' => '',
+'Phi' => 'Φ',
+'phi' => 'φ',
+'phiv' => 'ϕ',
+'phmmat' => 'ℳ',
+'phone' => '☎',
+'Pi' => 'Π',
+'pi' => 'π',
+'pitchfork' => '⋔',
+'piv' => 'ϖ',
+'plank' => '',
+'plankv' => 'ℏ',
+'plus' => '+',
+'plusacir' => '',
+'plusb' => '⊞',
+'pluscir' => '',
+'plusdo' => '∔',
+'plusdu' => '',
+'pluse' => '',
+'PlusMinus' => '±',
+'plusmn' => '±',
+'plussim' => '',
+'plustwo' => '',
+'pm' => '±',
+'pointint' => '',
+'Popf' => 'ℙ',
+'pound' => '£',
+'Pr' => '',
+'pr' => '≺',
+'prap' => '≾',
+'prcue' => '≼',
+'prE' => '≼',
+'pre' => '≼',
+'prec' => '≺',
+'precapprox' => '≾',
+'preccurlyeq' => '≼',
+'Precedes' => '≺',
+'PrecedesEqual' => '≼',
+'PrecedesSlantEqual' => '≼',
+'PrecedesTilde' => '≾',
+'preceq' => '≼',
+'precnapprox' => '⋨',
+'precneqq' => '',
+'precnsim' => '⋨',
+'precsim' => '≾',
+'Prime' => '″',
+'prime' => '′',
+'prnap' => '⋨',
+'prnE' => '',
+'prnsim' => '⋨',
+'profalar' => '⌮',
+'profline' => '⌒',
+'profsurf' => '⌓',
+'prop' => '∝',
+'Proportion' => '∷',
+'Proportional' => '∝',
+'propto' => '∝',
+'prsim' => '≾',
+'prurel' => '⊰',
+'Pscr' => '',
+'pscr' => '',
+'Psi' => 'Ψ',
+'psi' => 'ψ',
+'puncsp' => ' ',
+'Qfr' => '',
+'qfr' => '',
+'qint' => '',
+'Qopf' => 'ℚ',
+'qprime' => '',
+'Qscr' => '',
+'qscr' => '',
+'quatint' => '',
+'quest' => '?',
+'questeq' => '≟',
+'quot' => '"',
+'rAarr' => '⇛',
+'race' => '',
+'radic' => '√',
+'raemptyv' => '',
+'Rang' => '》',
+'rang' => '〉',
+'rangd' => '',
+'range' => '',
+'rangle' => '〉',
+'raquo' => '»',
+'Rarr' => '↠',
+'rArr' => '⇒',
+'rarr' => '→',
+'rarrap' => '',
+'rarrbfs' => '',
+'rarrc' => '',
+'rarrfs' => '',
+'rarrhk' => '↪',
+'rarrlp' => '↬',
+'rarrpl' => '',
+'rarrsim' => '',
+'Rarrtl' => '',
+'rarrtl' => '↣',
+'rarrw' => '↝',
+'rAtail' => '',
+'ratail' => '↣',
+'ratio' => '∶',
+'RBarr' => '',
+'rBarr' => '',
+'rbarr' => '',
+'rbbrk' => '〕',
+'rbrace' => '}',
+'rbrack' => ']',
+'rbrke' => '',
+'rbrksld' => '',
+'rbrkslu' => '',
+'rceil' => '⌉',
+'rcub' => '}',
+'rdca' => '',
+'rdldhar' => '',
+'rdquo' => '”',
+'rdquor' => '‛',
+'rdsh' => '↳',
+'Re' => 'ℜ',
+'real' => 'ℜ',
+'rect' => '',
+'reg' => '¯',
+'ReverseElement' => '∋',
+'ReverseEquilibrium' => '⇋',
+'ReverseUpEquilibrium' => '',
+'rfisht' => '',
+'rfloor' => '⌋',
+'Rfr' => '',
+'rfr' => '',
+'rHar' => '',
+'rhard' => '⇁',
+'rharu' => '⇀',
+'rharul' => '',
+'rho' => 'ρ',
+'rhov' => 'ϱ',
+'RightAngleBracket' => '〉',
+'RightArrow' => '→',
+'Rightarrow' => '⇒',
+'rightarrow' => '→',
+'RightArrowLeftArrow' => '⇄',
+'rightarrowtail' => '↣',
+'RightCeiling' => '⌉',
+'RightDownVector' => '⇂',
+'RightFloor' => '⌋',
+'rightharpoondown' => '⇁',
+'rightharpoonup' => '⇀',
+'rightleftarrows' => '⇄',
+'rightleftharpoons' => '⇌',
+'rightrightarrows' => '⇉',
+'rightsquigarrow' => '↝',
+'RightTee' => '⊢',
+'RightTeeArrow' => '↦',
+'rightthreetimes' => '⋌',
+'RightTriangle' => '⊳',
+'RightTriangleEqual' => '⊵',
+'RightUpVector' => '↾',
+'RightVector' => '⇀',
+'ring' => '̊',
+'risingdotseq' => '≓',
+'rlarr' => '⇄',
+'rlhar' => '⇌',
+'rmoust' => '',
+'rmoustache' => '',
+'rnmid' => '',
+'roang' => '〙',
+'roarr' => '',
+'robrk' => '〛',
+'ropar' => '',
+'Ropf' => 'ℝ',
+'roplus' => '',
+'rotimes' => '',
+'rpar' => ')',
+'rpargt' => '',
+'rppolint' => '',
+'rrarr' => '⇉',
+'Rrightarrow' => '⇛',
+'Rscr' => '',
+'rscr' => 'ℛ',
+'Rsh' => '↱',
+'rsh' => '↱',
+'rsqb' => ']',
+'rsquo' => '’',
+'rsquor' => '‟',
+'rthree' => '⋌',
+'rtimes' => '⋊',
+'rtri' => '▹',
+'rtrie' => '⊵',
+'rtrif' => '▸',
+'rtriltri' => '',
+'ruluhar' => '',
+'rx' => '℞',
+'Sc' => '',
+'sc' => '≻',
+'scap' => '≿',
+'sccue' => '≽',
+'scE' => '≾',
+'sce' => '≽',
+'scnap' => '⋩',
+'scnE' => '',
+'scnsim' => '⋩',
+'scpolint' => '',
+'scsim' => '≿',
+'sdot' => '⋅',
+'sdotb' => '⊡',
+'sdote' => '',
+'searhk' => '',
+'seArr' => '⇘',
+'searr' => '↘',
+'searrow' => '↘',
+'sect' => '§',
+'semi' => ';',
+'seswar' => '',
+'setminus' => '∖',
+'setmn' => '∖',
+'sext' => '',
+'Sfr' => '',
+'sfr' => '',
+'sfrown' => '',
+'sharp' => '♯',
+'ShortLeftArrow' => '',
+'shortmid' => '',
+'shortparallel' => '',
+'ShortRightArrow' => '',
+'shy' => '',
+'Sigma' => 'Σ',
+'sigma' => 'σ',
+'sigmav' => 'ς',
+'sim' => '∼',
+'simdot' => '',
+'sime' => '≃',
+'simeq' => '≃',
+'simg' => '',
+'simgE' => '',
+'siml' => '',
+'simlE' => '',
+'simne' => '≆',
+'simplus' => '',
+'simrarr' => '',
+'slarr' => '',
+'SmallCircle' => '∘',
+'smallfrown' => '',
+'smallsetminus' => '',
+'smallsmile' => '',
+'smashp' => '',
+'smeparsl' => '',
+'smid' => '',
+'smile' => '⌣',
+'smt' => '',
+'smte' => '',
+'smtes' => '',
+'sol' => '/',
+'solb' => '',
+'solbar' => '',
+'Sopf' => '',
+'spades' => '♠',
+'spadesuit' => '♠',
+'spar' => '',
+'sqcap' => '⊓',
+'sqcaps' => '',
+'sqcup' => '⊔',
+'sqcups' => '',
+'Sqrt' => '√',
+'sqsub' => '⊏',
+'sqsube' => '⊑',
+'sqsubset' => '⊏',
+'sqsubseteq' => '⊑',
+'sqsup' => '⊐',
+'sqsupe' => '⊒',
+'sqsupset' => '⊐',
+'sqsupseteq' => '⊒',
+'squ' => '□',
+'square' => '□',
+'SquareIntersection' => '⊓',
+'SquareSubset' => '⊏',
+'SquareSubsetEqual' => '⊑',
+'SquareSuperset' => '⊐',
+'SquareSupersetEqual' => '⊒',
+'SquareUnion' => '⊔',
+'squarf' => '■',
+'squarfb' => '',
+'squarfbl' => '',
+'squarfbr' => '◪',
+'squarfl' => '◧',
+'squarfr' => '◨',
+'squarft' => '',
+'squarftl' => '◩',
+'squarftr' => '',
+'squf' => '▪',
+'srarr' => '',
+'Sscr' => '',
+'sscr' => '',
+'ssetmn' => '',
+'ssmile' => '',
+'sstarf' => '⋆',
+'Star' => '⋆',
+'star' => '⋆',
+'starf' => '★',
+'straightepsilon' => '∊',
+'straightphi' => 'φ',
+'strns' => '',
+'Sub' => '⋐',
+'sub' => '⊂',
+'subdot' => '',
+'subE' => '⊆',
+'sube' => '⊆',
+'subedot' => '',
+'submult' => '',
+'subnE' => '⊊',
+'subne' => '⊊',
+'subplus' => '',
+'subrarr' => '',
+'Subset' => '⋐',
+'subset' => '⊂',
+'subseteq' => '⊆',
+'subseteqq' => '⊆',
+'SubsetEqual' => '⊆',
+'subsetneq' => '⊊',
+'subsetneqq' => '⊊',
+'subsim' => '',
+'subsub' => '',
+'subsup' => '',
+'succ' => '≻',
+'succapprox' => '≿',
+'succcurlyeq' => '≽',
+'Succeeds' => '≻',
+'SucceedsEqual' => '≽',
+'SucceedsSlantEqual' => '≽',
+'SucceedsTilde' => '≿',
+'succeq' => '≽',
+'succnapprox' => '⋩',
+'succneqq' => '',
+'succnsim' => '⋩',
+'succsim' => '≿',
+'SuchThat' => '∍',
+'Sum' => '∑',
+'sum' => '∑',
+'sung' => '♩',
+'Sup' => '⋑',
+'sup' => '⊃',
+'sup1' => '¹',
+'sup2' => '²',
+'sup3' => '³',
+'supdot' => '',
+'supdsub' => '',
+'supE' => '⊇',
+'supe' => '⊇',
+'supedot' => '',
+'Superset' => '⊃',
+'SupersetEqual' => '⊇',
+'suphsol' => '',
+'suphsub' => '',
+'suplarr' => '',
+'supmult' => '',
+'supnE' => '⊋',
+'supne' => '⊋',
+'supplus' => '',
+'Supset' => '⋑',
+'supset' => '⊃',
+'supseteq' => '⊇',
+'supseteqq' => '⊇',
+'supsetneq' => '⊋',
+'supsetneqq' => '⊋',
+'supsim' => '',
+'supsub' => '',
+'supsup' => '',
+'swarhk' => '',
+'swArr' => '⇙',
+'swarr' => '↙',
+'swarrow' => '↙',
+'swnwar' => '',
+'target' => '⌖',
+'tau' => 'τ',
+'tbrk' => '',
+'tdot' => '⃛',
+'telrec' => '⌕',
+'Tfr' => '',
+'tfr' => '',
+'there4' => '∴',
+'Therefore' => '∴',
+'therefore' => '∴',
+'Theta' => 'Θ',
+'theta' => 'θ',
+'thetav' => 'ϑ',
+'thickapprox' => '',
+'thicksim' => '',
+'thinsp' => ' ',
+'thkap' => '',
+'thksim' => '',
+'Tilde' => '∼',
+'tilde' => '̃',
+'TildeEqual' => '≃',
+'TildeFullEqual' => '≅',
+'TildeTilde' => '≈',
+'times' => '×',
+'timesb' => '⊠',
+'timesbar' => '',
+'timesd' => '',
+'tint' => '∭',
+'toea' => '',
+'top' => '⊤',
+'topbot' => '⌶',
+'topcir' => '',
+'Topf' => '',
+'topfork' => '',
+'tosa' => '',
+'tprime' => '‴',
+'trade' => '™',
+'triangle' => '▵',
+'triangledown' => '▿',
+'triangleleft' => '◃',
+'trianglelefteq' => '⊴',
+'triangleq' => '≜',
+'triangleright' => '▹',
+'trianglerighteq' => '⊵',
+'tridot' => '◬',
+'trie' => '≜',
+'triminus' => '',
+'TripleDot' => '⃛',
+'triplus' => '',
+'trisb' => '',
+'tritime' => '',
+'trpezium' => '',
+'Tscr' => '',
+'tscr' => '',
+'twixt' => '≬',
+'twoheadleftarrow' => '↞',
+'twoheadrightarrow' => '↠',
+'Uarr' => '↟',
+'uArr' => '⇑',
+'uarr' => '↑',
+'Uarrocir' => '',
+'udarr' => '⇅',
+'udhar' => '',
+'ufisht' => '',
+'Ufr' => '',
+'ufr' => '',
+'uHar' => '',
+'uharl' => '↿',
+'uharr' => '↾',
+'uhblk' => '▀',
+'ulcorn' => '⌜',
+'ulcorner' => '⌜',
+'ulcrop' => '⌏',
+'ultri' => '',
+'uml' => '̈',
+'UnderLine' => '̲',
+'Union' => '⋃',
+'UnionPlus' => '⊎',
+'Uopf' => '',
+'UpArrow' => '↑',
+'Uparrow' => '⇑',
+'uparrow' => '↑',
+'UpArrowDownArrow' => '⇅',
+'UpDownArrow' => '↕',
+'Updownarrow' => '⇕',
+'updownarrow' => '↕',
+'UpEquilibrium' => '',
+'upharpoonleft' => '↿',
+'upharpoonright' => '↾',
+'uplus' => '⊎',
+'UpperLeftArrow' => '↖',
+'UpperRightArrow' => '↗',
+'Upsi' => 'ϒ',
+'upsi' => 'υ',
+'Upsilon' => 'ϒ',
+'upsilon' => 'υ',
+'UpTee' => '⊥',
+'upuparrows' => '⇈',
+'urcorn' => '⌝',
+'urcorner' => '⌝',
+'urcrop' => '⌎',
+'urtri' => '',
+'Uscr' => '',
+'uscr' => '',
+'utdot' => '⋰',
+'utri' => '▵',
+'utrif' => '▴',
+'uuarr' => '⇈',
+'uwangle' => '',
+'vangrt' => '⊾',
+'varepsilon' => 'ε',
+'varkappa' => 'ϰ',
+'varnothing' => '∅',
+'varphi' => 'ϕ',
+'varpi' => 'ϖ',
+'varpropto' => '∝',
+'vArr' => '⇕',
+'varr' => '↕',
+'varrho' => 'ϱ',
+'varsigma' => 'ς',
+'varsubsetneq' => '',
+'varsubsetneqq' => '',
+'varsupsetneq' => '',
+'varsupsetneqq' => '',
+'vartheta' => 'ϑ',
+'vartriangleleft' => '⊲',
+'vartriangleright' => '⊳',
+'Vbar' => '',
+'vBar' => '',
+'vBarv' => '',
+'VDash' => '⊫',
+'Vdash' => '⊩',
+'vDash' => '⊨',
+'vdash' => '⊢',
+'Vdashl' => '',
+'Vee' => '⋁',
+'vee' => '∨',
+'veebar' => '⊻',
+'veeeq' => '≚',
+'vellip' => '⋮',
+'Verbar' => '‖',
+'verbar' => '|',
+'Vert' => '‖',
+'vert' => '|',
+'VerticalBar' => '∣',
+'VerticalTilde' => '≀',
+'Vfr' => '',
+'vfr' => '',
+'vltri' => '⊲',
+'vnsub' => '⊄',
+'vnsup' => '⊅',
+'Vopf' => '',
+'vprop' => '∝',
+'vrtri' => '⊳',
+'Vscr' => '',
+'vscr' => '',
+'vsubnE' => '',
+'vsubne' => '',
+'vsupnE' => '',
+'vsupne' => '',
+'Vvdash' => '⊪',
+'vzigzag' => '',
+'wedbar' => '',
+'Wedge' => '⋀',
+'wedge' => '∧',
+'wedgeq' => '≙',
+'weierp' => '℘',
+'Wfr' => '',
+'wfr' => '',
+'Wopf' => '',
+'wp' => '℘',
+'wr' => '≀',
+'wreath' => '≀',
+'Wscr' => '',
+'wscr' => '',
+'xcap' => '⋂',
+'xcirc' => '○',
+'xcup' => '⋃',
+'xdtri' => '▽',
+'Xfr' => '',
+'xfr' => '',
+'xhArr' => '',
+'xharr' => '',
+'Xi' => 'Ξ',
+'xi' => 'ξ',
+'xlArr' => '',
+'xlarr' => '',
+'xmap' => '',
+'xnis' => '',
+'xodot' => '⊙',
+'Xopf' => '',
+'xoplus' => '⊕',
+'xotime' => '⊗',
+'xrArr' => '',
+'xrarr' => '',
+'Xscr' => '',
+'xscr' => '',
+'xsqcup' => '⊔',
+'xuplus' => '⊎',
+'xutri' => '△',
+'xvee' => '⋁',
+'xwedge' => '⋀',
+'yen' => '¥',
+'Yfr' => '',
+'yfr' => '',
+'Yopf' => '',
+'Yscr' => '',
+'yscr' => '',
+'zeta' => 'ζ',
+'Zfr' => 'ℤ',
+'zfr' => '',
+'zigrarr' => '',
+'Zopf' => '',
+'Zscr' => '',
+'zscr' => ''
+
+);
+
+?>
diff --git a/www/ecrire/charsets/translit.php b/www/ecrire/charsets/translit.php
new file mode 100644
index 0000000..1fea328
--- /dev/null
+++ b/www/ecrire/charsets/translit.php
@@ -0,0 +1,100 @@
+'EUR', 131=>'f', 140=>'OE', 147=>'\'\'', 148=>'\'\'',
+153=>'(TM)', 156=>'oe', 159=>'Y',
+
+// latin [legal]
+160=>' ', 161=>'!', 162=>'c', 163=>'L', 164=>'O', 165=>'yen',166=>'|',
+167=>'p',169=>'(c)', 171=>'<<',172=>'-',173=>'-',174=>'(R)',
+176=>'o',177=>'+-',181=>'mu',182=>'p',183=>'.',186=>'o ',187=>'>>',
+191=>'?', 192=>'A',
+193=>'A', 194=>'A', 195=>'A', 196=>'A', 197=>'A', 198=>'AE', 199=>'C',
+200=>'E', 201=>'E', 202=>'E', 203=>'E', 204=>'I', 205=>'I', 206=>'I',
+207=>'I', 209=>'N', 210=>'O', 211=>'O', 212=>'O', 213=>'O', 214=>'O',
+216=>'O', 217=>'U', 218=>'U', 219=>'U', 220=>'U', 223=>'ss', 224=>'a',
+225=>'a', 226=>'a', 227=>'a', 228=>'a', 229=>'a', 230=>'ae', 231=>'c',
+232=>'e', 233=>'e', 234=>'e', 235=>'e', 236=>'i', 237=>'i', 238=>'i',
+239=>'i', 241=>'n', 242=>'o', 243=>'o', 244=>'o', 245=>'o', 246=>'o',
+248=>'o', 249=>'u', 250=>'u', 251=>'u', 252=>'u', 255=>'y',
+
+// turc
+286=>'G', 287=>'g', 304=>'I', 305=>'i', 350=>'S', 351=>'s',
+
+// esperanto
+264 => 'Cx',265 => 'cx',
+284 => 'Gx',285 => 'gx',
+292 => 'Hx',293 => 'hx',
+308 => 'Jx',309 => 'jx',
+348 => 'Sx',349 => 'sx',
+364 => 'Ux',365 => 'ux',
+
+
+// latin2 [Czech]
+283=>'e', 353=>'s', 269=>'c', 345=>'r', 382=>'z',
+367=>'u', 328=>'n', 357=>'t', 271=>'d', 449=>'o',
+282=>'E', 352=>'S', 268=>'C', 344=>'R', 381=>'Z',
+366=>'U', 327=>'N', 356=>'T', 270=>'D', 467=>'O',
+
+// francais
+338=>'OE', 339=>'oe', 376=>'Y', 402=>'f',
+
+//polskie
+260=>'A', 261=>'a', 262=>'C', 263=>'c',
+280=>'E', 281=>'e', 321=>'L', 322=>'l',
+323=>'N', 324=>'n', 346=>'S', 347=>'s',
+377=>'Z', 378=>'z', 379=>'Z', 380=>'z',
+
+//roumain
+258=>'A', 259=>'a', 350=>'S', 351=>'s', 354=>'T', 355=>'t',
+
+// cyrillique
+1026=>'D%', 1027=>'G%', 8218=>'\'', 1107=>'g%', 8222=>'"', 8230=>'...',
+8224=>'/-', 8225=>'/=', 8364=>'EUR', 8240=>'0/00', 1033=>'LJ',
+8249=>'<', 1034=>'NJ', 1036=>'KJ', 1035=>'Ts', 1039=>'DZ', 1106=>'d%',
+8216=>'`', 8217=>'\'', 8220=>'"', 8221=>'"', 8226=>' o ', 8211=>'-',
+8212=>'--', 8212=>'~', 8482=>'(TM)', 1113=>'lj', 8250=>'>', 1114=>'nj',
+1116=>'kj', 1115=>'ts', 1119=>'dz', 1038=>'V%', 1118=>'v%', 1032=>'J%',
+1168=>'G3', 1025=>'IO', 1028=>'IE', 1031=>'YI', 1030=>'II',
+1110=>'ii', 1169=>'g3', 1105=>'io', 8470=>'No.', 1108=>'ie',
+1112=>'j%', 1029=>'DS', 1109=>'ds', 1111=>'yi', 1040=>'A', 1041=>'B',
+1042=>'V', 1043=>'G', 1044=>'D', 1045=>'E', 1046=>'ZH', 1047=>'Z',
+1048=>'I', 1049=>'J', 1050=>'K', 1051=>'L', 1052=>'M', 1053=>'N',
+1054=>'O', 1055=>'P', 1056=>'R', 1057=>'S', 1058=>'T', 1059=>'U',
+1060=>'F', 1061=>'H', 1062=>'C', 1063=>'CH', 1064=>'SH', 1065=>'SCH',
+1066=>'"', 1067=>'Y', 1068=>'\'', 1069=>'`E', 1070=>'YU', 1071=>'YA',
+1072=>'a', 1073=>'b', 1074=>'v', 1075=>'g', 1076=>'d', 1077=>'e',
+1078=>'zh', 1079=>'z', 1080=>'i', 1081=>'j', 1082=>'k', 1083=>'l',
+1084=>'m', 1085=>'n', 1086=>'o', 1087=>'p', 1088=>'r', 1089=>'s',
+1090=>'t', 1091=>'u', 1092=>'f', 1093=>'h', 1094=>'c', 1095=>'ch',
+1096=>'sh', 1097=>'sch', 1098=>'"', 1099=>'y', 1100=>'\'', 1101=>'`e',
+1102=>'yu', 1103=>'ya',
+
+// vietnamien en translitteration de base
+7843=>"a",7841=>"a",7845=>"a",7847=>"a",7849=>"a",7851=>"a",7853=>"a",
+7855=>"a",7857=>"a",7859=>"a",7861=>"a",7863=>"a",
+7842=>"A",7840=>"A",7844=>"A",7846=>"A",7848=>"A",
+7850=>"A",7852=>"A",7854=>"A",7856=>"A",7858=>"A",7860=>"A",
+7862=>"A",7867=>"e",7869=>"e",7865=>"e",
+7871=>"e",7873=>"e",7875=>"e",7877=>"e",7879=>"e",
+7866=>"E",7868=>"E",7864=>"E",7870=>"E",7872=>"E",7874=>"E",
+7876=>"E",7878=>"E",7881=>"i",7883=>"i",
+7880=>"I",7882=>"I",
+7887=>"o",7885=>"o",7889=>"o",7891=>"o",7893=>"o",
+7895=>"o",7897=>"o",417=>"o",7899=>"o",7901=>"o",7903=>"o",7905=>"o",
+7907=>"o",7886=>"O",7884=>"O",
+7888=>"O",7890=>"O",7892=>"O",7894=>"O",7896=>"O",416=>"O",7898=>"O",
+7900=>"O",7902=>"O",7904=>"O",7906=>"O",7911=>"u",
+361=>"u",7909=>"u",432=>"u",7913=>"u",7915=>"u",7917=>"u",7919=>"u",
+7921=>"u",7910=>"U",360=>"U",7908=>"U",431=>"U",
+7912=>"U",7914=>"U",7916=>"U",7918=>"U",7920=>"U",253=>"y",7923=>"y",
+7927=>"y",7929=>"y",7925=>"y",221=>"Y",7922=>"Y",7926=>"Y",7928=>"Y",
+7924=>"Y",273=>"d"
+
+);
+
+
+?>
diff --git a/www/ecrire/charsets/translitcomplexe.php b/www/ecrire/charsets/translitcomplexe.php
new file mode 100644
index 0000000..3d67476
--- /dev/null
+++ b/www/ecrire/charsets/translitcomplexe.php
@@ -0,0 +1,51 @@
+"a'", 224=>"a`",7843=>"a?",227=>"a~",7841=>"a.",
+226=>"a^",7845=>"a^'",7847=>"a^`",7849=>"a^?",7851=>"a^~",7853=>"a^.",259=>"a(",
+7855=>"a('",7857=>"a(`",7859=>"a(?",7861=>"a(~",7863=>"a(.",193=>"A'",192=>"A`",
+7842=>"A?",195=>"A~",7840=>"A.",194=>"A^",7844=>"A^'",7846=>"A^`",7848=>"A^?",
+7850=>"A^~",7852=>"A^.",258=>"A(",7854=>"A('",7856=>"A(`",7858=>"A(?",7860=>"A(~",
+7862=>"A(.",233=>"e'",232=>"e`",7867=>"e?",7869=>"e~",7865=>"e.",234=>"e^",
+7871=>"e^'",7873=>"e^`",7875=>"e^?",7877=>"e^~",7879=>"e^.",201=>"E'",200=>"E`",
+7866=>"E?",7868=>"E~",7864=>"E.",202=>"E^",7870=>"E^'",7872=>"E^`",7874=>"E^?",
+7876=>"E^~",7878=>"E^.",237=>"i'",236=>"i`",7881=>"i?",297=>"i~",7883=>"i.",
+205=>"I'",204=>"I`",7880=>"I?",296=>"I~",7882=>"I.",243=>"o'",242=>"o`",
+7887=>"o?",245=>"o~",7885=>"o.",244=>"o^",7889=>"o^'",7891=>"o^`",7893=>"o^?",
+7895=>"o^~",7897=>"o^.",417=>"o+",7899=>"o+'",7901=>"o+`",7903=>"o+?",7905=>"o+~",
+7907=>"o+.",211=>"O'",210=>"O`",7886=>"O?",213=>"O~",7884=>"O.",212=>"O^",
+7888=>"O^'",7890=>"O^`",7892=>"O^?",7894=>"O^~",7896=>"O^.",416=>"O+",7898=>"O+'",
+7900=>"O+`",7902=>"O+?",7904=>"O+~",7906=>"O+.",250=>"u'",249=>"u`",7911=>"u?",
+361=>"u~",7909=>"u.",432=>"u+",7913=>"u+'",7915=>"u+`",7917=>"u+?",7919=>"u+~",
+7921=>"u+.",218=>"U'",217=>"U`",7910=>"U?",360=>"U~",7908=>"U.",431=>"U+",
+7912=>"U+'",7914=>"U+`",7916=>"U+?",7918=>"U+~",7920=>"U+.",253=>"y'",7923=>"y`",
+7927=>"y?",7929=>"y~",7925=>"y.",221=>"Y'",7922=>"Y`",7926=>"Y?",7928=>"Y~",
+7924=>"Y.",273=>"d-",208=>"D-",
+
+// allemand
+228=>'ae',246=>'oe',252=>'ue',196=>'Ae',214=>'Oe',220=>'Ue'
+);
+
+foreach($translit_c as $u=>$t)
+ $trans[$u] = $t;
+$GLOBALS['CHARSET']['translitcomplexe'] = $trans;
+
+?>
diff --git a/www/ecrire/configuration/accueil.php b/www/ecrire/configuration/accueil.php
new file mode 100644
index 0000000..095e53a
--- /dev/null
+++ b/www/ecrire/configuration/accueil.php
@@ -0,0 +1,56 @@
+"._T('info_nom_site')."".aide ("confnom"))
+ . " "
+ . fin_cadre_relief(true)
+
+ . debut_cadre_relief("", true, "", ""._T('info_adresse_url')." ")
+ . " "
+ . fin_cadre_relief(true)
+
+ . debut_cadre_relief("", true, "","". _T('entree_description_site')." ")
+ . ""
+ . fin_cadre_relief(true)
+
+ . "
"
+
+ . debut_cadre_relief("", true, "", ""._T('info_email_webmestre')." ")
+ . " "
+ . fin_cadre_relief(true);
+}
+
+function configuration_accueil_dist()
+{
+ $res = configuration_bloc_votre_site();
+
+ $res =
+ debut_cadre_couleur("racine-site-24.gif", true).
+ ajax_action_post('configurer', 'accueil', 'configuration','',$res)
+ . fin_cadre_couleur(true)
+ ;
+
+ return ajax_action_greffe('configurer-accueil','', $res);
+}
+?>
diff --git a/www/ecrire/configuration/annonces.php b/www/ecrire/configuration/annonces.php
new file mode 100644
index 0000000..ab0ba70
--- /dev/null
+++ b/www/ecrire/configuration/annonces.php
@@ -0,0 +1,125 @@
+"
+ . "\n"
+ . ""._T('info_hebergeur_desactiver_envoi_email')."
"
+ . " ";
+
+ //
+ // Suivi editorial (articles proposes & publies)
+ //
+
+ $suivi_edito=$GLOBALS['meta']["suivi_edito"];
+ $adresse_suivi=$GLOBALS['meta']["adresse_suivi"];
+ $adresse_suivi_inscription=$GLOBALS['meta']["adresse_suivi_inscription"];
+
+ $res .= " \n"
+ . debut_cadre_relief("", true, "", _T('info_suivi_activite'))
+ . "";
+
+ $res .= "\n"
+ . _T('info_facilite_suivi_activite')
+ . "
";
+
+
+ $res .= ""
+ . "\n";
+
+ $res .= bouton_radio("suivi_edito", "oui", _T('bouton_radio_envoi_annonces_adresse'), $suivi_edito == "oui", "changeVisible(this.checked, 'config-edito', 'block', 'none');");
+
+
+ if ($suivi_edito == "oui") $style = "display: block;";
+ else $style = "display: none;";
+
+ $res .= ""
+ . " \n"
+ . bouton_radio("suivi_edito", "non", _T('bouton_radio_non_envoi_annonces_editoriales'), $suivi_edito == "non", "changeVisible(this.checked, 'config-edito', 'none', 'block');")
+ . "
\n"
+ . fin_cadre_relief(true);
+
+ //
+ // Annonce des nouveautes
+ //
+ $quoi_de_neuf=$GLOBALS['meta']["quoi_de_neuf"];
+ $adresse_neuf=$GLOBALS['meta']["adresse_neuf"];
+ $jours_neuf=$GLOBALS['meta']["jours_neuf"];
+
+ $res .= " \n"
+ . debut_cadre_relief("", true, "", _T('info_annonce_nouveautes'))
+ . ""
+ . "\n"
+ . _T('info_non_envoi_annonce_dernieres_nouveautes')
+ . " "
+ . "\n"
+ . bouton_radio("quoi_de_neuf", "oui", _T('bouton_radio_envoi_liste_nouveautes'), $quoi_de_neuf == "oui", "changeVisible(this.checked, 'config-neuf', 'block', 'none');");
+
+ if ($quoi_de_neuf == "oui") $style = "display: block;";
+ else $style = "display: none;";
+
+ $res .= "";
+
+ $res .= " \n"
+ . bouton_radio("quoi_de_neuf", "non", _T('info_non_envoi_liste_nouveautes'), $quoi_de_neuf == "non", "changeVisible(this.checked, 'config-neuf', 'none', 'block');");
+
+ $res .= "
\n"
+ . fin_cadre_relief(true);
+
+ $email_envoi = entites_html($GLOBALS['meta']["email_envoi"]);
+ $titre = _T('info_email_envoi');
+ if ($email_envoi) $titre .= " : " . $email_envoi;
+ $res .= " \n"
+ . debut_cadre_relief("", true, "", $titre)
+ . ""
+ . fin_cadre_relief(true);
+
+ $res = debut_cadre_trait_couleur("mail-auto-24.gif", true, "", _T('info_envoi_email_automatique').aide ("confmails"))
+ . ajax_action_post('configurer', 'annonces', 'config_contenu','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-annonces', '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/articles.php b/www/ecrire/configuration/articles.php
new file mode 100644
index 0000000..eb076a1
--- /dev/null
+++ b/www/ecrire/configuration/articles.php
@@ -0,0 +1,122 @@
+"
+
+ . ""
+ . _T('texte_contenu_articles')
+ . " "
+
+ . ""
+ . ""
+ . _T('info_surtitre')
+ . " "
+ . ""
+ . afficher_choix('articles_surtitre', $articles_surtitre,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . ""
+ . ""
+ . _T('info_sous_titre')
+ . " "
+ . ""
+ . afficher_choix('articles_soustitre', $articles_soustitre,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . ""
+ . ""
+ . _T('info_descriptif')
+ . " "
+ . ""
+ . afficher_choix('articles_descriptif', $articles_descriptif,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . ""
+ . ""
+ . _T('info_chapeau_2')
+ . " "
+ . ""
+ . afficher_choix('articles_chapeau', $articles_chapeau,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . ""
+ . ""
+ . typo(_T('info_texte').':')
+ . " "
+ . ""
+ . afficher_choix('articles_texte', $articles_texte,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . ""
+ . ""
+ . _T('info_post_scriptum_2')
+ . " "
+ . ""
+ . afficher_choix('articles_ps', $articles_ps,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . ""
+ . ""
+ . _T('info_date_publication_anterieure')
+ . " "
+ . ""
+ . afficher_choix('articles_redac', $articles_redac,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . ""
+ . ""
+ . _T('info_urlref')
+ . " "
+ . ""
+ . afficher_choix('articles_urlref', $articles_urlref,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+
+ . "";
+
+ $res = debut_cadre_relief("", true, "", _T('info_contenu_articles').aide ("confart"))
+ . ajax_action_post('configurer', 'articles', 'configuration','',$res)
+ . fin_cadre_relief(true);
+
+ return ajax_action_greffe('configurer-articles', '', $res);
+
+}
+?>
diff --git a/www/ecrire/configuration/avertisseur.php b/www/ecrire/configuration/avertisseur.php
new file mode 100644
index 0000000..8bc87c1
--- /dev/null
+++ b/www/ecrire/configuration/avertisseur.php
@@ -0,0 +1,38 @@
+"
+ . _T('texte_travail_collaboratif')
+ . ""
+ . ""
+ . afficher_choix('articles_modif',$GLOBALS['meta']["articles_modif"] ,
+ array('oui' => _T('item_activer_messages_avertissement'),
+ 'non' => _T('item_non_activer_messages_avertissement')))
+ . "
";
+
+
+ $res = debut_cadre_trait_couleur("article-24.gif", true, "", _T('info_travail_colaboratif').aide("artmodif"))
+ . ajax_action_post('configurer', 'avertisseur', 'config_fonctions', '', $res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe("configurer-avertisseur", '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/breves.php b/www/ecrire/configuration/breves.php
new file mode 100644
index 0000000..bd77bae
--- /dev/null
+++ b/www/ecrire/configuration/breves.php
@@ -0,0 +1,46 @@
+"
+ . ""
+ . _T('texte_breves')." \n"
+ . _T('info_breves')
+ . " "
+ . ""
+ . afficher_choix('activer_breves', $activer_breves,
+ array('oui' => _T('item_utiliser_breves'),
+ 'non' => _T('item_non_utiliser_breves')), " ")
+ . " \n"
+ . "\n";
+
+ $res = debut_cadre_trait_couleur("breve-24.gif", true, "", _T('titre_breves').aide ("confbreves"))
+ . ajax_action_post('configurer', 'breves', 'configuration','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-breves', '', $res);
+
+}
+
+?>
diff --git a/www/ecrire/configuration/compresseur.php b/www/ecrire/configuration/compresseur.php
new file mode 100644
index 0000000..5e17176
--- /dev/null
+++ b/www/ecrire/configuration/compresseur.php
@@ -0,0 +1,101 @@
+"
+ . _T('texte_compresseur_page')
+ . ""
+ . ""
+ . _T('info_compresseur_gzip', array('testgzip' => propre('[->'.parametre_url('http://redbot.org/', 'uri',$GLOBALS['meta']['adresse_site']).']'))
+ )
+ . "
"
+
+ . ""
+ . "
"
+ . _T('info_question_activer_compresseur')
+ . "
"
+ . afficher_choix('auto_compress_http',
+ ($GLOBALS['meta']['auto_compress_http'] != 'non') ? 'oui' : 'non',
+ array(
+ 'oui' => _T('item_compresseur'),
+ 'non' => _T('item_non_compresseur')
+ )
+ )
+ . "
"
+ . fin_cadre_relief(true);
+ }
+
+
+ // Compression des scripts et css
+ $res .= debut_cadre_relief("", true, "", _T('titre_compacter_script_css'))
+ . ""
+ . _T('texte_compacter_script_css')
+ . " "
+ . "
"
+
+ . ""
+ . "
"
+ . _T('info_question_activer_compactage_js')
+ . "
"
+ . afficher_choix('auto_compress_js',
+ ($GLOBALS['meta']['auto_compress_js'] != 'non') ? 'oui' : 'non',
+ array(
+ 'oui' => _T('item_compresseur'),
+ 'non' => _T('item_non_compresseur')
+ )
+ )
+ . "
"
+
+ . ""
+ . "
"
+ . _T('info_question_activer_compactage_css')
+ . "
"
+ . afficher_choix('auto_compress_css',
+ ($GLOBALS['meta']['auto_compress_css'] != 'non') ? 'oui' : 'non',
+ array(
+ 'oui' => _T('item_compresseur'),
+ 'non' => _T('item_non_compresseur')
+ )
+ )
+ . "
"
+
+ . ""._T('texte_compacter_avertissement')."
"
+
+
+ . fin_cadre_relief(true);
+
+
+
+
+ $res = ' '.debut_cadre_trait_couleur("", true, "",
+ _T('info_compresseur_titre'))
+ . ajax_action_post('configurer', 'compresseur', 'config_fonctions', '', $res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe("configurer-compresseur", '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/compteur.php b/www/ecrire/configuration/compteur.php
new file mode 100644
index 0000000..450b156
--- /dev/null
+++ b/www/ecrire/configuration/compteur.php
@@ -0,0 +1,51 @@
+"
+ . _T('info_question_gerer_statistiques')
+ . ""
+ . ""
+ . afficher_choix('activer_statistiques',
+ $GLOBALS['meta']["activer_statistiques"],
+ array('oui' => _T('item_gerer_statistiques'),
+ 'non' => _T('item_non_gerer_statistiques')), ' ')
+ . "
";
+ if ($GLOBALS['meta']["activer_statistiques"]=='oui'){
+ $res .= ""
+ . _T('info_question_vignettes_referer')
+ . "
"
+ . ""
+ . afficher_choix('activer_captures_referers',
+ $GLOBALS['meta']["activer_captures_referers"],
+ array('oui' => _T('info_question_vignettes_referer_oui'),
+ 'non' => _T('info_question_vignettes_referer_non')))
+ . "
";
+ }
+
+
+ $res = debut_cadre_trait_couleur("statistiques-24.gif", true, "", _T('info_forum_statistiques').aide ("confstat"))
+ . ajax_action_post('configurer', 'compteur', 'config_fonctions', '', $res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe("configurer-compteur", '', $res);
+}
+
+?>
diff --git a/www/ecrire/configuration/contenu_forums.php b/www/ecrire/configuration/contenu_forums.php
new file mode 100644
index 0000000..62fba95
--- /dev/null
+++ b/www/ecrire/configuration/contenu_forums.php
@@ -0,0 +1,94 @@
+"
+
+ . ""
+ . typo(_T('config_activer_champs').':')
+ . " "
+
+ . ""
+ . ""
+ . _T('info_titre')
+ . " "
+ . ""
+ . afficher_choix('forums_titre', $forums_titre,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . ""
+ . ""
+ . typo(_T('info_texte').':')
+ . " "
+ . ""
+ . afficher_choix('forums_texte', $forums_texte,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . ""
+ . "- "
+ . _T('info_barre_outils')
+ . " "
+ . ""
+ . afficher_choix('forums_afficher_barre', $forums_afficher_barre,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . ""
+ . ""
+ . _T('info_urlref')
+ . " "
+ . ""
+ . afficher_choix('forums_urlref', $forums_urlref,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+
+ . ""
+ . ""
+ . _T('info_question_visiteur_ajout_document_forum')
+ . ""
+ . _T('info_question_visiteur_ajout_document_forum_format')
+ . "
"
+ . " "
+ . " \n"
+
+
+ . "";
+
+ $res = debut_cadre_trait_couleur("forum-public-24.gif", true, "", _T('titre_forum'))
+ . ajax_action_post('configurer', 'contenu_forums', 'configuration','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-contenu_forums', '', $res);
+
+}
+?>
diff --git a/www/ecrire/configuration/documents.php b/www/ecrire/configuration/documents.php
new file mode 100644
index 0000000..726be0d
--- /dev/null
+++ b/www/ecrire/configuration/documents.php
@@ -0,0 +1,57 @@
+";
+ $res .= "";
+ $res .= _T('texte_documents_joints');
+ $res .= _T('texte_documents_joints_2');
+ $res .= " ";
+
+ $res .= "";
+ $res .= "";
+ $res .= afficher_choix('documents_article',
+ $GLOBALS['meta']["documents_article"],
+ array('oui' => _T('item_autoriser_documents_joints'),
+ 'non' => _T('item_non_autoriser_documents_joints')), " \n");
+ $res .= " \n";
+ $res .= afficher_choix('documents_rubrique',
+ $GLOBALS['meta']["documents_rubrique"],
+ array('oui' => _T('item_autoriser_documents_joints_rubriques'),
+ 'non' => _T('item_non_autoriser_documents_joints_rubriques')), " \n");
+ $res .= " \n";
+ $res .= afficher_choix('documents_date',
+ $GLOBALS['meta']["documents_date"],
+ array('oui' => _T('item_autoriser_selectionner_date_en_ligne'),
+ 'non' => _T('item_non_autoriser_selectionner_date_en_ligne')), " \n");
+ $res .= " ";
+ $res .= "\n";
+
+ $res = debut_cadre_trait_couleur("doc-24.gif", true, "", _T('titre_documents_joints'))
+ . ajax_action_post('configurer', 'documents', 'configuration','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-documents', '', $res);
+}
+
+?>
diff --git a/www/ecrire/configuration/forums_prives.php b/www/ecrire/configuration/forums_prives.php
new file mode 100644
index 0000000..3876b22
--- /dev/null
+++ b/www/ecrire/configuration/forums_prives.php
@@ -0,0 +1,53 @@
+"
+ . _T('info_config_forums_prive')
+ . " \n"
+
+ . ""._T('info_config_forums_prive_objets')
+ . " \n"
+ . afficher_choix('forum_prive_objets', $GLOBALS['meta']['forum_prive_objets'],
+ array('oui' => _T('item_config_forums_prive_objets'),
+ 'non' => _T('item_non_config_forums_prive_objets')))
+ ."
\n"
+
+ . ""._T('info_config_forums_prive_global')
+ . " \n"
+ . afficher_choix('forum_prive', $GLOBALS['meta']['forum_prive'],
+ array('oui' => _T('item_config_forums_prive_global'),
+ 'non' => _T('item_non_config_forums_prive_global')))
+ ."
\n"
+
+ . ""._T('info_config_forums_prive_admin')
+ . " \n"
+ . afficher_choix('forum_prive_admin', $GLOBALS['meta']['forum_prive_admin'],
+ array('oui' => _T('item_activer_forum_administrateur'),
+ 'non' => _T('item_desactiver_forum_administrateur')))
+ ."
\n"
+
+ . "";
+
+ $res = debut_cadre_trait_couleur("forum-interne-24.gif", true, "", _T('titre_config_forums_prive'))
+ . ajax_action_post('configurer', 'forums_prives', 'config_contenu','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-forums_prives', '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/futurs.php b/www/ecrire/configuration/futurs.php
new file mode 100644
index 0000000..4eec410
--- /dev/null
+++ b/www/ecrire/configuration/futurs.php
@@ -0,0 +1,44 @@
+"
+ . ""
+ . _T('texte_publication_articles_post_dates')
+ . " "
+
+ . ""
+ . afficher_choix('post_dates', $GLOBALS['meta']["post_dates"],
+ array('oui' => _T('item_publier_articles'),
+ 'non' => _T('item_non_publier_articles')))
+ . " \n"
+ . "\n";
+
+ $res = debut_cadre_relief("", true, "", _T('titre_publication_articles_post_dates').aide ("confdates"))
+ . ajax_action_post('configurer', 'futurs', 'configuration','',$res)
+ . fin_cadre_relief(true);
+
+ return ajax_action_greffe('configurer-futurs', '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/index.php b/www/ecrire/configuration/index.php
new file mode 100644
index 0000000..62d8fe9
--- /dev/null
+++ b/www/ecrire/configuration/index.php
@@ -0,0 +1 @@
+X
diff --git a/www/ecrire/configuration/indexeur.php b/www/ecrire/configuration/indexeur.php
new file mode 100644
index 0000000..b879766
--- /dev/null
+++ b/www/ecrire/configuration/indexeur.php
@@ -0,0 +1,37 @@
+"
+ . _T('info_question_utilisation_moteur_recherche')
+ . ""
+ . ""
+ . afficher_choix('activer_moteur', $GLOBALS['meta']["activer_moteur"],
+ array('oui' => _T('item_utiliser_moteur_recherche'),
+ 'non' => _T('item_non_utiliser_moteur_recherche')), ' ')
+ . "
";
+
+ $res = debut_cadre_trait_couleur("racine-site-24.gif", true, "", _T('info_moteur_recherche').aide ("confmoteur"))
+ . ajax_action_post('configurer', 'indexeur', 'config_fonctions', '', $res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe("configurer-indexeur", '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/langue.php b/www/ecrire/configuration/langue.php
new file mode 100644
index 0000000..67ad85c
--- /dev/null
+++ b/www/ecrire/configuration/langue.php
@@ -0,0 +1,49 @@
+$langue_site\n";
+
+ foreach (explode(",",$GLOBALS['meta']['langues_proposees']) as $l) {
+ if ($l <> $l_site)
+ $res .= "".traduire_nom_langue($l)." \n";
+ }
+
+ $res = ajax_action_post('configurer',
+ 'langue',
+ 'config_lang', '',
+ "" .
+ _T('info_langue_principale') .
+ " " .
+ " : \n$res \n",
+ '');
+
+ $res = debut_cadre_couleur("langues-24.gif", true, "", _T('info_langue_principale') . " : " . $langue_site) .
+ _T('texte_selection_langue_principale') .
+ $res .
+ fin_cadre_couleur(true);
+
+ return ajax_action_greffe("configurer-langue", '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/locuteur.php b/www/ecrire/configuration/locuteur.php
new file mode 100644
index 0000000..2e14d01
--- /dev/null
+++ b/www/ecrire/configuration/locuteur.php
@@ -0,0 +1,93 @@
+"
+ . _T('info_multi_langues_choisies')
+ . ''
+ . "\n"
+ . ""._T("info_multi_langues_soulignees")."
";
+
+ $res = debut_cadre_relief("langues-24.gif", true)
+ . ajax_action_post('configurer', 'locuteur', 'config_multilang', '', $res)
+ . fin_cadre_relief(true);
+
+ return ajax_action_greffe("configurer-locuteur", '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/logos.php b/www/ecrire/configuration/logos.php
new file mode 100644
index 0000000..b258983
--- /dev/null
+++ b/www/ecrire/configuration/logos.php
@@ -0,0 +1,63 @@
+";
+ $res .= "";
+ $res .= _T('config_info_logos').aide('logoart');
+ $res .= " ";
+
+ $res .= "";
+ $res .= "";
+
+
+ $res .= bouton_radio("activer_logos", "oui", _T('config_info_logos_utiliser'), $activer_logos == "oui", "changeVisible(this.checked, 'logos_survol_config', 'block', 'none');")
+ . " "
+ . bouton_radio("activer_logos", "non", _T('config_info_logos_utiliser_non'), $activer_logos == "non", "changeVisible(this.checked, 'logos_survol_config', 'none', 'block');");
+
+ if ($activer_logos != "non") $style = "display: block;";
+ else $style = "display: none;";
+
+ $res .= "";
+
+
+ $res .= afficher_choix('activer_logos_survol', $activer_logos_survol,
+ array('oui' => _T('config_info_logos_utiliser_survol'),
+ 'non' => _T('config_info_logos_utiliser_survol_non')), " ");
+
+
+ $res .= "
";
+
+ $res .= " ";
+ $res .= "\n";
+
+ $res = debut_cadre_trait_couleur("image-24.gif", true, "", _T('info_logos'))
+ . ajax_action_post('configurer', 'logos', 'configuration','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-logos', '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/messagerie_agenda.php b/www/ecrire/configuration/messagerie_agenda.php
new file mode 100644
index 0000000..0ffb0f8
--- /dev/null
+++ b/www/ecrire/configuration/messagerie_agenda.php
@@ -0,0 +1,34 @@
+"
+ . _T('texte_messagerie_agenda')
+ . " \n"
+ . afficher_choix('messagerie_agenda', $GLOBALS['meta']['messagerie_agenda'],
+ array('oui' => _T('item_messagerie_agenda'),
+ 'non' => _T('item_non_messagerie_agenda')))
+ . "";
+
+ $res = debut_cadre_trait_couleur("messagerie-24.gif", true, "", _T('titre_messagerie_agenda'))
+ . ajax_action_post('configurer', 'messagerie_agenda', 'config_contenu','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-messagerie_agenda', '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/mots.php b/www/ecrire/configuration/mots.php
new file mode 100644
index 0000000..2cf1302
--- /dev/null
+++ b/www/ecrire/configuration/mots.php
@@ -0,0 +1,92 @@
+"
+ . ""
+ . _T('texte_mots_cles')." \n"
+ . _T('info_question_mots_cles')
+ . " "
+ . ""
+ . ""
+ . bouton_radio("articles_mots", "oui", _T('item_utiliser_mots_cles'), $articles_mots == "oui", "changeVisible(this.checked, 'mots-config', 'block', 'none');")
+ . " "
+ . bouton_radio("articles_mots", "non", _T('item_non_utiliser_mots_cles'), $articles_mots == "non", "changeVisible(this.checked, 'mots-config', 'none', 'block');");
+
+ // $res .= afficher_choix('articles_mots', $articles_mots,
+ // array('oui' => _T('item_utiliser_mots_cles'),
+ // 'non' => _T('item_non_utiliser_mots_cles')), " ");
+ $res .= " ";
+
+ if ($articles_mots != "non") $style = "display: block;";
+ else $style = "display: none;";
+
+ $res .= ""
+ . "
\n"
+ . debut_cadre_relief("", true, "", _T('titre_config_groupe_mots_cles'))
+ . "
"
+ . ""
+ . _T('texte_config_groupe_mots_cles')
+ . " "
+ . ""
+ . ""
+ . afficher_choix('config_precise_groupes', $config_precise_groupes,
+ array('oui' => _T('item_utiliser_config_groupe_mots_cles'),
+ 'non' => _T('item_non_utiliser_config_groupe_mots_cles')))
+ . "
"
+ . fin_cadre_relief(true);
+
+ if ($forums_publics){
+ $res .= "
\n"
+ . debut_cadre_relief("", true, "", _T('titre_mots_cles_dans_forum'))
+ . "
"
+ . ""
+ . _T('texte_mots_cles_dans_forum')
+ . " "
+ . ""
+ . ""
+ . afficher_choix('mots_cles_forums', $mots_cles_forums,
+ array('oui' => _T('item_ajout_mots_cles'),
+ 'non' => _T('item_non_ajout_mots_cles')))
+ . " "
+ . "
"
+ . fin_cadre_relief(true);
+ }
+ $res .= "
";
+
+ $res = debut_cadre_trait_couleur("mot-cle-24.gif", true, "", _T('info_mots_cles'))
+ . ajax_action_post('configurer', 'mots', 'configuration','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-mots', '', $res);
+
+}
+?>
diff --git a/www/ecrire/configuration/notifications_forum.php b/www/ecrire/configuration/notifications_forum.php
new file mode 100644
index 0000000..8b7c575
--- /dev/null
+++ b/www/ecrire/configuration/notifications_forum.php
@@ -0,0 +1,47 @@
+ $val) {
+ $name = 'prevenir_auteurs_' . $val;
+ $lib = _T($desc);
+ $vu = (($m == 'oui') OR strpos($m,",$val,")!==false);
+ $res .= " "
+ . ($vu ? "$lib " : $lib)
+ . " ";
+ }
+
+ $res = ""
+ . _T('info_option_email')
+ . " "
+ . $res
+ . "
\n";
+
+ $res = debut_cadre_trait_couleur("mail-forum-24.gif", true, "", _T('info_envoi_forum'))
+ . ajax_action_post('configurer_notifications_forum', 0, 'config_contenu','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer_notifications_forum', 0, $res);
+}
+?>
diff --git a/www/ecrire/configuration/participants.php b/www/ecrire/configuration/participants.php
new file mode 100644
index 0000000..f68d24c
--- /dev/null
+++ b/www/ecrire/configuration/participants.php
@@ -0,0 +1,84 @@
+";
+ $res .= "\n";
+
+ if ($forums_publics == "non") $block = "'none', 'block'";
+ else $block= "'block', 'none'";
+ $res .= bouton_radio("forums_publics", "non", _T('info_desactiver_forum_public'), $forums_publics == "non", "changeVisible(this.checked, 'config-options', $block);");
+
+
+ $res .= " ";
+ $res .= "\n";
+ $res .= _T('info_activer_forum_public');
+ $res .= " ";
+ $res .= "\n";
+
+ if ($forums_publics == "posteriori") $block = "'none', 'block'";
+ else $block= "'block', 'none'";
+ $res .= bouton_radio("forums_publics", "posteriori", _T('bouton_radio_publication_immediate'), $forums_publics == "posteriori", "changeVisible(this.checked, 'config-options', $block);");
+ $res .= " \n";
+ if ($forums_publics == "priori") $block = "'none', 'block'";
+ else $block= "'block', 'none'";
+ $res .= bouton_radio("forums_publics", "priori", _T('bouton_radio_moderation_priori'), $forums_publics == "priori", "changeVisible(this.checked, 'config-options', $block);");
+
+ $res .= " \n";
+ if ($forums_publics == "abo") $block = "'none', 'block'";
+ else $block= "'block', 'none'";
+ $res .= bouton_radio("forums_publics", "abo", _T('bouton_radio_enregistrement_obligatoire'), $forums_publics == "abo", "changeVisible(this.checked, 'config-options', $block);");
+
+$res .= " ";
+
+$res .= "\n";
+
+ $res .= "";
+
+ $res .= debut_cadre_relief("", true, "", _T('info_options_avancees'));
+
+ $res .= "
";
+ $res .= fin_cadre_relief(true);
+ $res .= "
";
+ $res .= " \n";
+
+ $res = debut_cadre_trait_couleur("forum-interne-24.gif", true, "", _T('info_mode_fonctionnement_defaut_forum_public').aide ("confforums"))
+ . ajax_action_post('configurer', 'participants', 'config_contenu','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-participants', '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/previsualiseur.php b/www/ecrire/configuration/previsualiseur.php
new file mode 100644
index 0000000..02c0ba1
--- /dev/null
+++ b/www/ecrire/configuration/previsualiseur.php
@@ -0,0 +1,56 @@
+ _T('info_preview_admin'),
+ "info_redacteurs" => _T('info_preview_comite'));
+
+ $voir = $GLOBALS['meta']["preview"];
+
+ $res = '';
+
+ foreach($GLOBALS['liste_des_statuts'] as $k => $v) {
+ if (isset($recom[$k])) {
+ $vu = strpos($voir,",$v,")!==false;
+ $lib = _T($k);
+
+ $res .= " "
+ . ($vu ? "$lib " : $lib)
+ . " ";
+ }
+ }
+
+ $res = ""
+ . _T('info_preview_texte')
+ . " "
+ . $res
+ . "
";
+
+ $res = debut_cadre_trait_couleur("naviguer-site.png", true, "", _T('previsualisation')
+ . aide("previsu"))
+ . ajax_action_post('configurer_previsualiseur', 0, 'config_fonctions', '', $res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe("configurer_previsualiseur", 0, $res);
+}
+?>
diff --git a/www/ecrire/configuration/redacteurs.php b/www/ecrire/configuration/redacteurs.php
new file mode 100644
index 0000000..901c2db
--- /dev/null
+++ b/www/ecrire/configuration/redacteurs.php
@@ -0,0 +1,40 @@
+"
+ . "\n"
+# . ""
+ . _T('info_question_inscription_nouveaux_redacteurs')
+# . "
"
+ . " "
+ . "\n"
+ . afficher_choix('accepter_inscriptions', $GLOBALS['meta']["accepter_inscriptions"],
+ array('oui' => _T('item_accepter_inscriptions'),
+ 'non' => _T('item_non_accepter_inscriptions')), " ")
+
+ . " \n"
+ . "\n";
+
+ $res = debut_cadre_trait_couleur("redacteurs-24.gif", true, "", _T('info_inscription_automatique'))
+ . ajax_action_post('configurer', 'redacteurs', 'config_contenu','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-redacteurs', '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/redirection.php b/www/ecrire/configuration/redirection.php
new file mode 100644
index 0000000..0113de8
--- /dev/null
+++ b/www/ecrire/configuration/redirection.php
@@ -0,0 +1,44 @@
+"
+ . ""
+ . _T('config_info_redirection')
+ . " "
+
+ . ""
+ . afficher_choix('articles_redirection', $GLOBALS['meta']["articles_redirection"],
+ array('oui' => _T('item_oui'),
+ 'non' => _T('item_non')))
+ . " \n"
+ . "\n";
+
+ $res = debut_cadre_relief("", true, "", _T('config_redirection').aide ("artvirt"))
+ . ajax_action_post('configurer', 'redirection', 'configuration','',$res)
+ . fin_cadre_relief(true);
+
+ return ajax_action_greffe('configurer-redirection', '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/reducteur.php b/www/ecrire/configuration/reducteur.php
new file mode 100644
index 0000000..f1cc626
--- /dev/null
+++ b/www/ecrire/configuration/reducteur.php
@@ -0,0 +1,166 @@
+"._T('info_taille_maximale_images')."";
+ $time = time();
+ $url = generer_url_action("tester_taille", "arg=3000&time=$time");
+ $test_out .= "";
+ $test_out .= " ";
+ }
+ else {
+ effacer_meta('max_taille_vignettes');
+ }
+
+ return ajax_action_greffe("configurer-reducteur", '',
+ debut_cadre_trait_couleur("image-24.gif", true, "", _T("info_image_process_titre"))
+ . debut_cadre_relief("", true)
+ . ""
+ . _T('info_image_process')
+ . "
"
+ . $res
+ . "
"
+ . ""
+ . _T('info_image_process2')
+ . "
"
+ . $test_out
+ . fin_cadre_relief(true)
+ . (!$formats_graphiques ? '' : format_choisi())
+ . fin_cadre_trait_couleur(true)
+ );
+}
+
+function format_choisi()
+{
+ global $spip_lang_left, $spip_lang_right;
+
+ $creer_preview = $GLOBALS['meta']["creer_preview"];
+ $taille_preview = $GLOBALS['meta']["taille_preview"];
+ if ($taille_preview < 10) $taille_preview = 120;
+
+ $res .= "";
+ $res .= _T('info_ajout_image');
+ $res .= "
\n";
+ $res .= "";
+ $res .= bouton_radio("creer_preview", "oui", _T('item_choix_generation_miniature'), $creer_preview == "oui", "changeVisible(this.checked, 'config-preview', 'block', 'none');");
+ $res .= '
';
+
+ if ($creer_preview == "oui") $style = "block;"; else $style = "none;";
+
+ $res .= ""
+ . ""
+ ._T('info_taille_maximale_vignette')
+ . " "
+ . " ";
+ $res .= " "._T('info_pixels');
+
+ $res .= ' ';
+ $res .= "
";
+ $res .= bouton_radio("creer_preview", "non", _T('item_choix_non_generation_miniature'), $creer_preview != "oui", "changeVisible(this.checked, 'config-preview', 'none', 'block');");
+
+ return
+ debut_cadre_relief("", true, "", _T('info_generation_miniatures_images'))
+ . ajax_action_post('configurer', 'reducteur', 'config_fonctions', '', $res)
+ . fin_cadre_relief(true);
+}
+
+// http://doc.spip.org/@afficher_choix_vignette
+function afficher_choix_vignette($process) {
+
+ //global $taille_preview;
+ $taille_preview = 120;
+
+ // Ici on va tester les capacites de GD independamment des tests realises
+ // dans les images spip_image -- qui servent neanmoins pour la qualite
+ /* if (function_exists('imageformats')) {
+
+ } */
+
+
+ $class = '';
+ if ($process == $GLOBALS['meta']['image_process']) {
+ $class = " selected";
+ }
+ return "\n$process \n";
+
+}
+
+?>
diff --git a/www/ecrire/configuration/referenceur.php b/www/ecrire/configuration/referenceur.php
new file mode 100644
index 0000000..5748019
--- /dev/null
+++ b/www/ecrire/configuration/referenceur.php
@@ -0,0 +1,67 @@
+"._T('texte_multilinguisme').""
+ . ""
+ . _T('info_multi_articles')
+ . "
"
+ . afficher_choix('multi_articles', $GLOBALS['meta']['multi_articles'],
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . "
"
+ . "
"
+ . ""
+ . _T('info_multi_rubriques')
+ . "
"
+ . afficher_choix('multi_rubriques', $GLOBALS['meta']['multi_rubriques'],
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . "
"
+ . "
";
+
+ if ($GLOBALS['meta']['multi_rubriques'] == 'oui') {
+ $res .= "\n"
+ . _T('info_multi_secteurs')
+ . "
"
+ . afficher_choix('multi_secteurs', $GLOBALS['meta']['multi_secteurs'],
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . "
"
+ . "
";
+ } else
+ $res .= " ";
+
+ if (($GLOBALS['meta']['multi_rubriques'] == 'oui') OR ($GLOBALS['meta']['multi_articles'] == 'oui')) {
+ $res .= " "
+ . ""._T('texte_multilinguisme_trad')."
";
+
+ $res .= _T('info_gerer_trad')
+ . ""
+ . afficher_choix('gerer_trad', $GLOBALS['meta']['gerer_trad'],
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . "
";
+ } else
+ $res .= " ";
+
+ $res = debut_cadre_couleur("traductions-24.gif", true, "", _T('info_multilinguisme'))
+ . ajax_action_post('configurer', 'referenceur', 'config_multilang', '', $res)
+ . fin_cadre_couleur(true);
+
+ return ajax_action_greffe("configurer-referenceur", '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/relayeur.php b/www/ecrire/configuration/relayeur.php
new file mode 100644
index 0000000..b7283f3
--- /dev/null
+++ b/www/ecrire/configuration/relayeur.php
@@ -0,0 +1,151 @@
+"
+ . ""
+ . _T('texte_test_proxy')
+ . " "
+ . ""
+ . "\n"
+ . " "
+ . "
";
+
+ if($retour_proxy) {
+ $res .= debut_boite_info(true)
+ . $retour_proxy
+ . fin_boite_info(true);
+ }
+ $submit = array('valider_proxy' => _T('bouton_valider'),
+ 'tester_proxy' => _T('bouton_test_proxy'));
+ }
+ }
+
+ $encours = "" . ($http_proxy ? $http_proxy : "http://proxy:8080") . ' ' ;
+ $exemple = "" . ($http_noproxy ? $http_noproxy : "127.0.0.1 .mondomaine.net") . " ";
+ $res = "\n"
+ . propre(_T('texte_proxy', array('proxy_en_cours' => "$encours ")))
+ . "
"
+ . "\n"
+ . " "
+ . " "
+ . propre(_T('pas_de_proxy_pour', array('exemple' => "$exemple ")))
+ . " "
+ . $res
+ . "
";
+
+ $res = debut_cadre_trait_couleur("base-24.gif", true, "", _T('info_sites_proxy').aide ("confhttpproxy"))
+ . ajax_action_post('configurer_relayeur', 0, 'config_fonctions', '', $res, $submit)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe("configurer_relayeur", 0, $res);
+}
+
+function configuration_relayeur_post ($http_proxy, $http_noproxy, $test_proxy, $tester_proxy)
+{
+ // http_proxy : ne pas prendre en compte la modif si le password est '****'
+ if (preg_match(',:\*\*\*\*@,', $http_proxy))
+ $http_proxy = $GLOBALS['meta']['http_proxy'];
+
+ $retour = $page = '';
+
+ if ($tester_proxy AND preg_match(",https?://,", $http_proxy)) {
+ include_spip('inc/distant');
+ $t = parse_url($test_proxy);
+
+ if (!@$t['host']) {
+ $retour = _T('info_adresse_non_indiquee');
+ } elseif (!need_proxy($t['host'])) {
+
+ $retour = ""._T('page_pas_proxy')."
\n";
+ } elseif ($page = recuperer_page($test_proxy, true)) {
+ include_spip('inc/texte'); // pour aide, couper, lang
+ $retour = ""._T('info_proxy_ok')."
\n"
+ . couper(entites_html($page),300)." ";
+ } else $retour = _T('info_impossible_lire_page',
+ array('test_proxy' => $test_proxy))
+ . " ".no_password_proxy_url($http_proxy)." ."
+ . aide('confhttpproxy');
+ }
+
+ if ($http_proxy !== NULL) {
+ ecrire_meta('http_proxy', $http_proxy);
+ }
+ if ($http_noproxy !== NULL) {
+ ecrire_meta('http_noproxy', $http_noproxy);
+ }
+ if ($page) {
+ include_spip('install/etape_fin');
+ $retour .= install_verifier_htaccess();
+ }
+ return $retour;
+}
+
+// Function glue_url : le pendant de parse_url
+// http://doc.spip.org/@glue_url
+function glue_url ($url){
+ if (!is_array($url)){
+ return false;
+ }
+ // scheme
+ $uri = (!empty($url['scheme'])) ? $url['scheme'].'://' : '';
+ // user & pass
+ if (!empty($url['user'])){
+ $uri .= $url['user'].':'.$url['pass'].'@';
+ }
+ // host
+ $uri .= $url['host'];
+ // port
+ $port = (!empty($url['port'])) ? ':'.$url['port'] : '';
+ $uri .= $port;
+ // path
+ $uri .= $url['path'];
+// fragment or query
+ if (isset($url['fragment'])){
+ $uri .= '#'.$url['fragment'];
+ } elseif (isset($url['query'])){
+ $uri .= '?'.$url['query'];
+ }
+ return $uri;
+}
+
+
+// Ne pas afficher la partie 'password' du proxy
+// http://doc.spip.org/@no_password_proxy_url
+function no_password_proxy_url($http_proxy) {
+ if ($p = @parse_url($http_proxy)
+ AND $p['pass']) {
+ $p['pass'] = '****';
+ $http_proxy = glue_url($p);
+ }
+ return $http_proxy;
+}
+?>
diff --git a/www/ecrire/configuration/rubriques.php b/www/ecrire/configuration/rubriques.php
new file mode 100644
index 0000000..3fd374b
--- /dev/null
+++ b/www/ecrire/configuration/rubriques.php
@@ -0,0 +1,61 @@
+"
+
+ . ""
+ . typo(_T('config_activer_champs').':')
+ . " "
+
+ . ""
+ . ""
+ . _T('info_descriptif')
+ . " "
+ . ""
+ . afficher_choix('rubriques_descriptif', $rubriques_descriptif,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . ""
+ . ""
+ . typo(_T('info_texte').':')
+ . " "
+ . ""
+ . afficher_choix('rubriques_texte', $rubriques_texte,
+ array('oui' => _T('item_oui'), 'non' => _T('item_non')), " ")
+ . " \n"
+
+ . "";
+
+ $res = debut_cadre_trait_couleur("rubrique-24.gif", true, "", _T('icone_rubriques'))
+ . ajax_action_post('configurer', 'rubriques', 'configuration','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-rubriques', '', $res);
+
+}
+?>
diff --git a/www/ecrire/configuration/syndications.php b/www/ecrire/configuration/syndications.php
new file mode 100644
index 0000000..7d98996
--- /dev/null
+++ b/www/ecrire/configuration/syndications.php
@@ -0,0 +1,135 @@
+";
+
+ $res .= "";
+
+ $res .= bouton_radio("activer_sites", "oui", _T('item_gerer_annuaire_site_web'), $activer_sites == "oui", "changeVisible(this.checked, 'config-site', 'block', 'none');");
+ $res .= " ";
+ $res .= bouton_radio("activer_sites", "non", _T('item_non_gerer_annuaire_site_web'), $activer_sites == "non", "changeVisible(this.checked, 'config-site', 'none', 'block');");
+
+ $res .= " \n";
+
+
+
+ if ($activer_sites != 'non') $style = "display: block;";
+ else $style = "display: none;";
+
+ $res .= "";
+
+ // Utilisateurs autorises a proposer des sites references
+ //
+ $res .= "
\n";
+ $res .= debut_cadre_relief('',true);
+ $res .= "\n
";
+ $res .= "\n";
+ $res .= "" . _T('info_question_proposer_site') ." ";
+ $res .= "\n\n";
+ $res .= ""._T('item_choix_administrateurs')." \n";
+ $res .= ""._T('item_choix_redacteurs')." \n";
+ $res .= ""._T('item_choix_visiteurs')." \n";
+ $res .= "
\n";
+ $res .= "
\n";
+ $res .= fin_cadre_relief(true);
+
+ $res .= debut_cadre_relief("", true, "", _T('titre_syndication').aide ("rubsyn"));
+
+ $res .= "\n
";
+ //
+ // Reglage de la syndication
+ //
+ $res .= "";
+ $res .= _T('texte_syndication');
+ $res .= " ";
+
+ $res .= "";
+
+ $res .= bouton_radio("activer_syndic", "oui", _T('item_utiliser_syndication'), $activer_syndic == "oui", "changeVisible(this.checked, 'config-syndic', 'block', 'none');");
+ $res .= " \n";
+ $res .= bouton_radio("activer_syndic", "non", _T('item_non_utiliser_syndication'), $activer_syndic == "non", "changeVisible(this.checked, 'config-syndic', 'none', 'block');");
+
+ if ($activer_syndic != "non") $style = "display: block;";
+ else $style = "display: none;";
+
+ $res .= "";
+
+ // Moderation par defaut des sites syndiques
+ $res .= "
";
+ $res .= _T('texte_liens_sites_syndiques')."
";
+
+ $res .= afficher_choix('moderation_sites', $moderation_sites,
+ array('oui' => _T('item_bloquer_liens_syndiques'),
+ 'non' => _T('item_non_bloquer_liens_syndiques')));
+
+ $res .= "
";
+
+ $res .= " \n";
+
+ $res .= "
\n";
+
+ $res .= fin_cadre_relief(true);
+ $res .= "
";
+
+ //
+ // Gestion des flux RSS
+ //
+
+ $res .= debut_cadre_relief("feed.png", true, "", _T('ical_titre_rss'));
+
+ $res .= "";
+
+ $res .= "";
+ $res .= _T('info_syndication_integrale_1',
+ array('url' => generer_url_ecrire('synchro'),
+ 'titre' => _T("icone_suivi_activite"))
+ ).
+ '' .
+ _T('info_syndication_integrale_2').
+ '
';
+ $res .= " ";
+
+ $res .= "";
+ $res .= "";
+ $res .= afficher_choix('syndication_integrale', $GLOBALS['meta']["syndication_integrale"],
+ array('oui' => _T('item_autoriser_syndication_integrale'),
+ 'non' => _T('item_non_autoriser_syndication_integrale')), " \n");
+ $res .= " ";
+ $res .= "
\n";
+
+ $res .= fin_cadre_relief(true);
+
+ $res = debut_cadre_trait_couleur("site-24.gif",true, "", _T('titre_referencement_sites').aide ("reference"))
+ . ajax_action_post('configurer', 'syndications', 'configuration','',$res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-syndications', '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/transcodeur.php b/www/ecrire/configuration/transcodeur.php
new file mode 100644
index 0000000..739fcf9
--- /dev/null
+++ b/www/ecrire/configuration/transcodeur.php
@@ -0,0 +1,55 @@
+\n"
+ . _T('texte_jeu_caractere_3') .
+ "
\n"
+ .entites_html($charset)
+ ."
"
+ .""
+ ._T('texte_jeu_caractere_4')
+ ." "
+ ." " .
+ " \n(".
+ _T('texte_jeu_caractere_2').")" .
+ "
\n";
+
+ // faudrait dire si le charset est inconnu
+ // ca eviterait l'erreur sur array_flip dans inc/charsets
+ if ($charset != 'utf-8' AND load_charset($charset))
+ $res .= _T('texte_jeu_caractere_conversion',
+ array('url' => generer_url_ecrire('convert_utf8'))
+ );
+
+ $res = ajax_action_post('configurer',
+ 'transcodeur',
+ 'config_lang',
+ '',
+ $res);
+
+ $res = debut_cadre_relief("breve-24.gif", true, "", _T('info_jeu_caractere')) .
+ $res .
+ fin_cadre_relief(true);
+
+ return ajax_action_greffe("configurer-transcodeur", '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/type_urls.php b/www/ecrire/configuration/type_urls.php
new file mode 100644
index 0000000..3437fd4
--- /dev/null
+++ b/www/ecrire/configuration/type_urls.php
@@ -0,0 +1,52 @@
+$r — " . $exemple . ' ';
+ }
+
+ $res = ""
+ . _T('texte_type_urls')
+ . "
"
+ . ""
+ . afficher_choix('type_urls', $GLOBALS['meta']['type_urls'], $dispo)
+ . "
"
+ . ""
+ . _T('texte_type_urls_attention', array('htaccess' => '.htaccess '))
+ . "
";
+
+
+ $res = ' '.debut_cadre_trait_couleur("", true, "", _T('titre_type_urls').aide("confurl"))
+ . ajax_action_post('configurer', 'type_urls', 'config_fonctions', '', $res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe("configurer-type_urls", '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/versionneur.php b/www/ecrire/configuration/versionneur.php
new file mode 100644
index 0000000..f956e59
--- /dev/null
+++ b/www/ecrire/configuration/versionneur.php
@@ -0,0 +1,37 @@
+"
+ . _T('info_historique_texte')
+ . ""
+ . ""
+ . afficher_choix('articles_versions', $GLOBALS['meta']["articles_versions"],
+ array('oui' => _T('info_historique_activer'),
+ 'non' => _T('info_historique_desactiver')))
+ . "
";
+
+ $res = debut_cadre_trait_couleur("historique-24.gif", true, "", _T('info_historique_titre').aide("suivimodif"))
+ . ajax_action_post('configurer', 'versionneur', 'config_fonctions', '', $res)
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe("configurer-versionneur", '', $res);
+}
+?>
diff --git a/www/ecrire/configuration/visiteurs.php b/www/ecrire/configuration/visiteurs.php
new file mode 100644
index 0000000..14b62fb
--- /dev/null
+++ b/www/ecrire/configuration/visiteurs.php
@@ -0,0 +1,45 @@
+"
+ . "\n"
+ . _T('info_question_accepter_visiteurs')
+ . " "
+ . "\n"
+ . afficher_choix('accepter_visiteurs', $GLOBALS['meta']['accepter_visiteurs'],
+ array('oui' => _T('info_option_accepter_visiteurs'),
+ 'non' => _T('info_option_ne_pas_accepter_visiteurs')))
+ . " \n";
+
+ $res = ajax_action_post('configurer', 'visiteurs', 'config_contenu','',$res);
+ } else {
+ $res = _T('info_forums_abo_invites');
+ }
+
+ $res = debut_cadre_trait_couleur("redacteurs-24.gif", true, "", _T('info_visiteurs'))
+ . $res
+ . fin_cadre_trait_couleur(true);
+
+ return ajax_action_greffe('configurer-visiteurs', '', $res);
+}
+?>
diff --git a/www/ecrire/exec/404.php b/www/ecrire/exec/404.php
new file mode 100644
index 0000000..8fffffa
--- /dev/null
+++ b/www/ecrire/exec/404.php
@@ -0,0 +1,43 @@
+array('exec'=>'404','exec_erreur'=>$exec),'data'=>''));
+
+ echo creer_colonne_droite("404",true);
+ echo pipeline('affiche_droite',array('args'=>array('exec'=>'404','exec_erreur'=>$exec),'data'=>''));
+
+ echo debut_droite("404",true);
+ echo ""._T('fichier_introuvable',array('fichier'=>$exec))." ";
+ echo pipeline('affiche_milieu',array('args'=>array('exec'=>'404','exec_erreur'=>$exec),'data'=>''));
+
+ echo fin_gauche(),fin_page();
+}
+
+?>
diff --git a/www/ecrire/exec/accueil.php b/www/ecrire/exec/accueil.php
new file mode 100644
index 0000000..4c02e04
--- /dev/null
+++ b/www/ecrire/exec/accueil.php
@@ -0,0 +1,484 @@
+ "statut='prop'", 'ORDER BY' => "date DESC"));
+
+ //
+ // Les breves a valider
+ //
+ $res .= afficher_objets('breve',afficher_plus(generer_url_ecrire('breves'))._T('info_breves_valider'), array("FROM" => 'spip_breves', 'WHERE' => "statut='prepa' OR statut='prop'", 'ORDER BY' => "date_heure DESC"), true);
+
+ //
+ // Les sites references a valider
+ //
+ if ($GLOBALS['meta']['activer_sites'] != 'non') {
+ $res .= afficher_objets('site',afficher_plus(generer_url_ecrire('sites_tous')).'' . _T('info_site_valider') . ' ', array("FROM" => 'spip_syndic', 'WHERE' => "statut='prop'", 'ORDER BY'=> "nom_site"));
+ }
+
+ if ($connect_statut == '0minirezo') {
+ //
+ // Les sites a probleme
+ //
+ if ($GLOBALS['meta']['activer_sites'] != 'non') {
+ $res .= afficher_objets('site',afficher_plus(generer_url_ecrire('sites_tous')). '' . _T('avis_sites_syndiques_probleme') . ' ', array('FROM' => 'spip_syndic', 'WHERE' => "(syndication='off' OR syndication='sus') AND statut='publie'", 'ORDER BY' => 'nom_site'));
+ }
+
+ // Les articles syndiques en attente de validation
+ $cpt = sql_countsel("spip_syndic_articles", "statut='dispo'");
+ if ($cpt)
+ $res .= "\n"
+ . $cpt
+ . " "
+ . _T('info_liens_syndiques_1')
+ . " "
+ . _T('info_liens_syndiques_2')
+ . " ";
+
+ // Les forums en attente de moderation
+
+ $cpt = sql_countsel("spip_forum", "statut='prop'");
+ if ($cpt) {
+ if ($cpt>1)
+ $lien = _T('info_liens_syndiques_3')." "._T('info_liens_syndiques_4');
+ else
+ $lien = _T('info_liens_syndiques_5')." "._T('info_liens_syndiques_6');
+ $lien = "$cpt $lien " ._T('info_liens_syndiques_7'). " ";
+ if ($connect_toutes_rubriques)
+ $lien = "". $lien . ". ";
+ $res .= "\n " . $lien;
+ }
+ }
+
+ $res = pipeline('accueil_encours',$res);
+
+ if (!$res) return '';
+
+ return
+ ""
+ . debut_cadre_couleur_foncee("",true, "", _T('texte_en_cours_validation')
+ . (($GLOBALS['meta']['forum_prive_objets'] != 'non')
+ ? ' '._T('texte_en_cours_validation_forum')
+ : '' )
+ )
+ . $res
+ . bouton_spip_rss('a_suivre')
+ . fin_cadre_couleur_foncee(true)
+ . "
";
+}
+
+//
+// Raccourcis pour malvoyants
+//
+
+// http://doc.spip.org/@colonne_droite_eq4
+function colonne_droite_eq4($id_rubrique, $activer_breves, $activer_sites, $articles_mots) {
+ global $connect_statut, $connect_toutes_rubriques;
+
+ $res = sql_countsel('spip_rubriques');
+ if ($res) {
+ $res = icone_horizontale(_T('icone_ecrire_article'), generer_url_ecrire("articles_edit","new=oui"), "article-24.gif","creer.gif", false);
+
+ if ($activer_breves != "non") {
+ $res .= icone_horizontale(_T('icone_nouvelle_breve'), generer_url_ecrire("breves_edit","new=oui"), "breve-24.gif","creer.gif", false);
+ }
+ }
+ else {
+ if ($connect_statut == '0minirezo') {
+ $res = ""._T('info_ecrire_article')."
";
+ }
+ }
+ if (autoriser('creerrubriquedans', 'rubrique', $id_rubrique)) {
+ $res .= icone_horizontale(_T('icone_creer_rubrique_2'), generer_url_ecrire("rubriques_edit","new=oui"), "rubrique-24.gif","creer.gif", false);
+ }
+ return bloc_des_raccourcis($res);
+ }
+
+//
+// Raccourcis pour voyants ...
+//
+
+// http://doc.spip.org/@colonne_droite_neq4
+function colonne_droite_neq4($id_rubrique, $activer_breves, $activer_sites, $articles_mots) {
+ global $connect_statut, $connect_id_auteur, $connect_login;
+
+ $gadget = '';
+
+ if ($id_rubrique > 0) {
+ $dans_rub = "&id_rubrique=$id_rubrique";
+ $dans_parent = "&id_parent=$id_rubrique";
+ } else $dans_rub = $dans_parent = '';
+
+ if (autoriser('creerrubriquedans', 'rubrique', $id_rubrique)) {
+ $gadget .= ""
+ . icone_horizontale(_T('icone_creer_rubrique'), generer_url_ecrire("rubriques_edit","new=oui"), "rubrique-24.gif", "creer.gif", false)
+ . " ";
+ }
+ $n = sql_countsel('spip_rubriques');
+ if ($n) {
+ $gadget .= ""
+ . icone_horizontale(_T('icone_ecrire_article'), generer_url_ecrire("articles_edit","new=oui$dans_rub"), "article-24.gif","creer.gif", false)
+ . " ";
+
+ if ($activer_breves != "non") {
+ $gadget .= "";
+ $gadget .= icone_horizontale(_T('icone_nouvelle_breve'), generer_url_ecrire("breves_edit","new=oui$dans_rub"), "breve-24.gif","creer.gif", false);
+ $gadget .= " ";
+ }
+
+ if ($activer_sites == 'oui') {
+ if ($connect_statut == '0minirezo' OR $GLOBALS['meta']["proposer_sites"] > 0) {
+ $gadget .= "";
+ $gadget .= icone_horizontale(_T('info_sites_referencer'), generer_url_ecrire("sites_edit","new=oui$dans_rub"), "site-24.gif","creer.gif", false);
+ $gadget .= " ";
+ }
+ }
+ }
+ $gadget = "\n";
+
+ if ($connect_statut != "0minirezo") {
+
+ $gadget .= "";
+
+ $cpt = sql_countsel('spip_auteurs_articles', "id_auteur=$connect_id_auteur");
+ if ($cpt) {
+ $gadget .= ""
+ . icone_horizontale (_T('icone_tous_articles'), generer_url_ecrire("articles_page"), "article-24.gif", "", false)
+ . " ";
+ }
+
+ if ($activer_breves != "non"){
+ $gadget .= ""
+ . icone_horizontale (_T('icone_breves'), generer_url_ecrire("breves",""), "breve-24.gif", "", false)
+ . " ";
+ }
+
+ if ($articles_mots != "non") {
+ $gadget .= ""
+ . icone_horizontale (_T('icone_mots_cles'), generer_url_ecrire("mots_tous",""), "mot-cle-24.gif", "", false)
+ . " ";
+ }
+
+ if ($activer_sites<>'non') {
+ $gadget .= ""
+ . icone_horizontale (_T('icone_sites_references'), generer_url_ecrire("sites_tous",""), "site-24.gif", "", false)
+ . " ";
+ }
+ $gadget .= "
\n";
+ }
+ $gadget = pipeline('accueil_gadgets',$gadget);
+
+ if (strlen($gadget) > 0) {
+ $gadget = debut_cadre_trait_couleur('', true)
+ . $gadget
+ . fin_cadre_trait_couleur(true);
+ }
+
+ return $gadget;
+}
+
+// Cartouche d'identification, avec les rubriques administrees
+
+// http://doc.spip.org/@personnel_accueil
+function personnel_accueil($coockcookie)
+{
+ global $spip_lang_left, $connect_id_auteur, $connect_id_rubrique ;
+
+ $res = '';
+
+ if (count($connect_id_rubrique)) {
+
+ $res = sql_allfetsel("R.id_rubrique, R.titre, R.descriptif", "spip_auteurs_rubriques AS A LEFT JOIN spip_rubriques AS R ON A.id_rubrique=R.id_rubrique", "A.id_auteur=$connect_id_auteur", "", "titre");
+
+ foreach ($res as $k => $r) {
+ $res[$k] = "" .
+ typo($r['titre']) .
+ ' ';
+ }
+
+ $res = "\n" . join(" \n", $res) . "\n ";
+ }
+
+ //
+ // Supprimer le cookie, se deconnecter...
+ //
+
+ if ($coockcookie) {
+ $lien = generer_url_action('cookie', "cookie_admin=non&url=".rawurlencode('./'. _SPIP_ECRIRE_SCRIPT));
+ $t = _T('icone_supprimer_cookie');
+ $lien = icone_horizontale($t, $lien, "cookie-24.gif", "supprimer-sansdanger.gif", false);
+ if ($GLOBALS['spip_display'] != 1)
+ $lien = str_replace('',
+ aide("cookie").'',
+ $lien);
+ }
+ //
+ // Modification du cookie
+ //
+
+ else {
+ $cookie = rawurlencode("@$connect_login");
+ $retour = rawurlencode('./' . _SPIP_ECRIRE_SCRIPT);
+ $lien = generer_url_action('cookie', "cookie_admin=$cookie&url=$retour");
+ $lien =
+ _T('info_activer_cookie').
+ aide ("cookie").
+ icone_horizontale(_T('icone_activer_cookie'), $lien,"cookie-24.gif", "", false);
+ }
+
+ $titre_cadre = afficher_plus(generer_url_ecrire("auteur_infos","id_auteur=$connect_id_auteur"));
+ $titre_cadre .= majuscules(typo($GLOBALS['visiteur_session']['nom']));
+
+ return debut_cadre_relief("fiche-perso-24.gif",true, '',$titre_cadre)
+ . $res
+ . "$lien
"
+ . fin_cadre_relief(true);
+}
+
+// Cartouche du site, avec le nombre d'articles, breves et messages de forums
+
+// http://doc.spip.org/@etat_base_accueil
+function etat_base_accueil()
+{
+ global $spip_display, $spip_lang_left, $connect_id_rubrique;
+
+ $where = count($connect_id_rubrique)
+ ? sql_in('id_rubrique', $connect_id_rubrique) : '';
+
+ $res = '';
+
+ if ($spip_display != 1) {
+ $chercher_logo = charger_fonction('chercher_logo', 'inc');
+ if ($r = $chercher_logo(0, 'id_syndic', 'on')) {
+ list($fid, $dir, $nom, $format) = $r;
+ include_spip('inc/filtres_images_mini');
+ $r = image_reduire(" ", 170, 170);
+ if ($r)
+ $res ="$r
";
+ }
+ }
+ $res .= "";
+
+ $res .= propre($GLOBALS['meta']["descriptif_site"]);
+
+ $q = sql_select("COUNT(*) AS cnt, statut", 'spip_articles', '', 'statut', '','', "COUNT(*)<>0");
+
+ $cpt = array();
+ $cpt2 = array();
+ $defaut = $where ? '0/' : '';
+ while($row = sql_fetch($q)) {
+ $cpt[$row['statut']] = $row['cnt'];
+ $cpt2[$row['statut']] = $defaut;
+ }
+ if ($cpt) {
+ if ($where) {
+ $q = sql_select("COUNT(*) AS cnt, statut", 'spip_articles', $where, "statut");
+ while($row = sql_fetch($q)) {
+ $r = $row['statut'];
+ $cpt2[$r] = intval($row['cnt']) . '/';
+ }
+ }
+ $res .= afficher_plus(generer_url_ecrire("articles_page",""))."
"._T('info_articles')." ";
+ $res .= "
";
+ if (isset($cpt['prepa'])) $res .= ""._T("texte_statut_en_cours_redaction").": ".$cpt2['prepa'] . $cpt['prepa'] .' ';
+ if (isset($cpt['prop'])) $res .= ""._T("texte_statut_attente_validation").": ".$cpt2['prop'] . $cpt['prop'] . ' ';
+ if (isset($cpt['publie'])) $res .= ""._T("texte_statut_publies").": ".$cpt2['publie'].$cpt['publie'] ." " . ' ';
+ $res .= " ";
+ }
+
+ $q = sql_select("COUNT(*) AS cnt, statut", 'spip_breves', '', 'statut', '','', "COUNT(*)<>0");
+
+ $cpt = array();
+ $cpt2 = array();
+ $defaut = $where ? '0/' : '';
+ while($row = sql_fetch($q)) {
+ $cpt[$row['statut']] = $row['cnt'];
+ $cpt2[$row['statut']] = $defaut;
+ }
+
+ if ($cpt) {
+ if ($where) {
+ $q = sql_select("COUNT(*) AS cnt, statut", 'spip_breves', $where, "statut");
+ while($row = sql_fetch($q)) {
+ $r = $row['statut'];
+ $cpt2[$r] = intval($row['cnt']) . '/';
+ }
+ }
+ $res .= afficher_plus(generer_url_ecrire("breves",""))."
"._T('info_breves_02')." ";
+ $res .= "
";
+ if (isset($cpt['prop'])) $res .= ""._T("texte_statut_attente_validation").": ".$cpt2['prop'].$cpt['prop'] . ' ';
+ if (isset($cpt['publie'])) $res .= ""._T("texte_statut_publies").": ".$cpt2['publie'] .$cpt['publie'] . " " .' ';
+ $res .= " ";
+ }
+
+ $q = sql_select('COUNT(*) AS cnt, statut', 'spip_forum', sql_in('statut', array('publie', 'prop')), 'statut', '','', "COUNT(*)<>0");
+
+ $cpt = array();
+ $cpt2 = array();
+ $defaut = $where ? '0/' : '';
+ while($row = sql_fetch($q)) {
+ $cpt[$row['statut']] = $row['cnt'];
+ $cpt2[$row['statut']] = $defaut;
+ }
+
+ if ($cpt) {
+ if ($where) {
+ include_spip('inc/forum');
+ list($f, $w) = critere_statut_controle_forum('public');
+ $q = sql_select("COUNT(*) AS cnt, F.statut", "$f", "$w ", "F.statut");
+ while($row = sql_fetch($q)) {
+ $r = $row['statut'];
+ $cpt2[$r] = intval($row['cnt']) . '/';
+ }
+ }
+
+ if (autoriser('modererforum'))
+ $res .= afficher_plus(generer_url_ecrire("controle_forum",""));
+ $res .= "
" ._T('onglet_messages_publics') ." ";
+ $res .= "
";
+ if (isset($cpt['prop'])) $res .= ""._T("texte_statut_attente_validation").": ".$cpt2['prop'] .$cpt['prop'] . ' ';
+ if (isset($cpt['publie'])) $res .= ""._T("texte_statut_publies").": ".$cpt2['publie'] .$cpt['publie'] . " " .' ';
+ $res .= " ";
+ }
+
+ $res .= accueil_liste_participants()
+ . "
";
+
+ return pipeline('accueil_informations',$res) ;
+}
+
+
+// http://doc.spip.org/@accueil_liste_participants
+function accueil_liste_participants()
+{
+ global $spip_lang_left;
+
+ $q = sql_select("COUNT(*) AS cnt, statut", 'spip_auteurs', sql_in("statut", $GLOBALS['liste_des_statuts']), 'statut', '','', "COUNT(*)<>0");
+
+ $cpt = array();
+ while($row=sql_fetch($q)) $cpt[$row['statut']] = $row['cnt'];
+
+ if (!$cpt) return '';
+
+
+ $res = afficher_plus(generer_url_ecrire("auteurs")).""._T('icone_auteurs')." "
+ . "";
+
+ foreach($GLOBALS['liste_des_statuts'] as $k => $v) {
+ if (isset($cpt[$v])) $res .= "" . _T($k) . ": " .$cpt[$v] . ' ';
+ }
+
+ $res .= " ";
+
+ return $res;
+}
+
+// http://doc.spip.org/@exec_accueil_dist
+function exec_accueil_dist()
+{
+ global $id_rubrique, $connect_statut, $connect_id_auteur, $spip_display, $connect_id_rubrique;
+
+ $id_rubrique = intval($id_rubrique);
+ pipeline('exec_init',array('args'=>array('exec'=>'accueil','id_rubrique'=>$id_rubrique),'data'=>''));
+
+ $commencer_page = charger_fonction('commencer_page', 'inc');
+ echo $commencer_page(_T('titre_page_index'), "accueil", "accueil");
+
+ echo debut_gauche("",true);
+
+ if ($spip_display != 4) {
+ echo personnel_accueil(@$_COOKIE['spip_admin']);
+ echo pipeline('affiche_gauche',array('args'=>array('exec'=>'accueil','id_rubrique'=>$id_rubrique),'data'=>''));
+
+ $nom = typo($GLOBALS['meta']["nom_site"]);
+ if (!$nom) $nom= _T('info_mon_site_spip');
+ echo debut_cadre_relief("racine-site-24.gif", true, "", $nom),
+ etat_base_accueil(),
+ fin_cadre_relief(true);
+ }
+
+ echo creer_colonne_droite("", true);
+ list($evtm, $evtt, $evtr) = http_calendrier_messages(date("Y"), date("m"), date("d")," 23:59:59");
+
+ echo $evtt, $evtm, $evtr;
+
+ echo pipeline('affiche_droite',array('args'=>array('exec'=>'accueil','id_rubrique'=>$id_rubrique),'data'=>''));
+
+ echo debut_droite("", true);
+
+ if ($GLOBALS['meta']["post_dates"] == "non"
+ AND $connect_statut == '0minirezo')
+ echo afficher_objets('article',_T('info_article_a_paraitre'), array("WHERE" => "statut='publie' AND date>".sql_quote(date('Y-m-d H:i:s')), 'ORDER BY' => "date"));
+
+
+ // Les articles recents
+ //
+ echo afficher_objets('article',
+ #afficher_plus(generer_url_ecrire('articles_page')) .
+ _T('articles_recents'), array("WHERE" => "statut='publie'" .($GLOBALS['meta']["post_dates"] == "non"
+ ? " AND date<=".sql_quote(date('Y-m-d H:i:s')) : ''),
+ 'ORDER BY' => "date DESC", 'LIMIT' => '0,4'));
+
+//
+// Vos articles en cours
+//
+
+ echo afficher_objets('article',afficher_plus(generer_url_ecrire('articles_page'))._T('info_en_cours_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa'", "ORDER BY" => "articles.date DESC"));
+
+ if ($spip_display == 4)
+ echo colonne_droite_eq4($id_rubrique,
+ $GLOBALS['meta']["activer_breves"],
+ $GLOBALS['meta']["activer_sites"],
+ $GLOBALS['meta']['articles_mots']);
+ else {
+ echo colonne_droite_neq4($id_rubrique,
+ $GLOBALS['meta']["activer_breves"],
+ $GLOBALS['meta']["activer_sites"],
+ $GLOBALS['meta']['articles_mots']);
+
+ echo encours_accueil();
+ }
+
+ include_spip('inc/presenter_enfants');
+ if (!$connect_id_rubrique)
+ echo afficher_enfant_rub(0, false, true) . "
";
+
+ echo pipeline('affiche_milieu',array('args'=>array('exec'=>'accueil'),'data'=>''));
+
+ // Dernieres modifications d'articles
+ if (($GLOBALS['meta']['articles_versions'] == 'oui')) {
+ include_spip('inc/suivi_versions');
+ echo afficher_suivi_versions (0, 0, false, "", true);
+ }
+
+ echo fin_gauche(), fin_page();
+}
+?>
diff --git a/www/ecrire/exec/admin_declarer.php b/www/ecrire/exec/admin_declarer.php
new file mode 100644
index 0000000..3b9be54
--- /dev/null
+++ b/www/ecrire/exec/admin_declarer.php
@@ -0,0 +1,97 @@
+ ";
+ echo gros_titre(_T('titre_admin_effacer'),'',false);
+ echo barre_onglets("administration", "declarer");
+
+ echo debut_gauche('',true);
+ echo debut_boite_info(true);
+
+ echo _T('info_gauche_admin_effacer');
+
+ echo fin_boite_info(true);
+
+ echo creer_colonne_droite('',true);
+ echo pipeline('affiche_droite',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));
+
+ echo debut_droite('',true);
+
+ echo autres_bases();
+
+ echo pipeline('affiche_milieu',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));
+
+ echo fin_gauche(), fin_page();
+ }
+}
+
+// http://doc.spip.org/@autres_bases
+function autres_bases()
+{
+ $tables = bases_referencees(_FILE_CONNECT_TMP);
+
+ if ($tables)
+ $tables = ""
+ . ""._T('config_info_base_sup_disponibles')." "
+ . "\n"
+ . join(" \n", $tables)
+ . " \n ";
+ else $tables ='';
+
+ if (defined('_INSTALL_PASS_DB')) {
+
+ // Si l'utilisateur n'a pas a donner le mot de passe de la base SQL
+ // ce doit etre une installation mutualisee sur une meme base:
+ // interdiction de creer d'autres acces pour assure la confidentialite
+ $form = '';
+
+ } else {
+
+ // Lire le fichier de connexion pour valeurs par defaut probables
+ list($adresse_db, $login_db, $pass_db, $sel, $server_db)
+ = analyse_fichier_connection(_FILE_CONNECT);
+
+ // Passer la base courante en Hidden pour ne pas la proposer
+ $name_db = ("\n \n");
+ // Dire que rien n'est predefini
+ $predef = array(false, false, false, false);
+
+ if (!autoriser('webmestre')){
+ $login_db = $pass_db = "";
+ }
+ $form = install_connexion_form(array($adresse_db), array($login_db), array($pass_db), $predef, $name_db, 'sup1');
+ }
+
+ return debut_cadre_trait_couleur('',true,'',_T('onglet_declarer_une_autre_base'))
+ . _T('config_info_base_sup')
+ . $tables
+ . $form
+ . fin_cadre_trait_couleur(true);
+}
+
+?>
diff --git a/www/ecrire/exec/admin_effacer.php b/www/ecrire/exec/admin_effacer.php
new file mode 100644
index 0000000..52113af
--- /dev/null
+++ b/www/ecrire/exec/admin_effacer.php
@@ -0,0 +1,98 @@
+array('exec'=>'admin_effacer'),'data'=>''));
+
+ $commencer_page = charger_fonction('commencer_page', 'inc');
+ echo $commencer_page(_T('titre_page_admin_effacer'), "configuration", "base");
+
+ echo "\n ";
+ echo gros_titre(_T('titre_admin_effacer'),'',false);
+ echo barre_onglets("administration", "effacer");
+
+ echo debut_gauche('',true);
+ echo debut_boite_info(true);
+
+ echo _T('info_gauche_admin_effacer');
+
+ echo fin_boite_info(true);
+
+ echo pipeline('affiche_gauche',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));
+
+ echo creer_colonne_droite('',true);
+ echo pipeline('affiche_droite',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));
+
+ echo debut_droite('',true);
+ echo debut_cadre_trait_couleur('',true,'',""._T('texte_effacer_base')." ");
+
+ $res = "\n ";
+
+ $res = generer_form_ecrire('delete_all', $res, '', _T('bouton_effacer_tout'));
+
+ echo
+ ' ",
+ _T('texte_admin_effacer_01'),
+ "
",
+ "\n",
+ debut_boite_alerte(),
+ "\n
",
+ "\n"._T('avis_suppression_base')." ! ",
+ $res,
+ "\n
",
+ fin_boite_alerte(),
+ "
";
+
+ echo fin_cadre_relief(true);
+
+ echo debut_cadre_trait_couleur('',true,'',_T('texte_effacer_statistiques'));
+
+ $res = generer_form_ecrire('delete_statistiques', "", '', _T('bouton_effacer_statistiques'));
+
+ echo
+ ' ",
+ _T('texte_admin_effacer_stats'),
+ "
",
+ "\n",
+ "\n
",
+ "\n"._T('avis_suppression_base')." ! ",
+ $res,
+ "\n
",
+ "
";
+
+ echo fin_cadre_relief(true);
+
+ echo pipeline('affiche_milieu',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));
+
+ echo fin_gauche(), fin_page();
+ }
+}
+?>
diff --git a/www/ecrire/exec/admin_plugin.php b/www/ecrire/exec/admin_plugin.php
new file mode 100644
index 0000000..b7bc20f
--- /dev/null
+++ b/www/ecrire/exec/admin_plugin.php
@@ -0,0 +1,254 @@
+\n";
+ echo " \n";
+
+ $quoi = _request('voir');
+ $quoi = $quoi ? $quoi : 'actifs';
+
+ echo gros_titre(_T('icone_admin_plugin'),'',false);
+ echo barre_onglets("plugins", $quoi=='actifs'?"plugins_actifs":"admin_plugin");
+
+ echo debut_gauche('plugin',true);
+ echo debut_boite_info(true);
+ $s = "";
+ $s .= _T('info_gauche_admin_tech');
+ echo $s;
+ echo fin_boite_info(true);
+
+ // la valeur de retour de la fonction ci-dessus n'est pas compatible
+ // avec ce que fait actualise_plugins_actifs, il faut recalculer. A revoir.
+ $lcpa = liste_chemin_plugin_actifs();
+
+ echo pipeline('affiche_gauche',
+ array(
+ 'args'=>array('exec'=>'admin_plugin'),
+ 'data'=>afficher_librairies()
+ )
+ );
+
+ echo debut_droite('plugin', true);
+
+ // message d'erreur au retour d'un operation
+ if (_request('erreur')){
+ echo "" . _T(_request('erreur')) . "
";
+ }
+ if ($erreur_activation){
+ echo "" . $erreur_activation . "
";
+ effacer_meta('plugin_erreur_activation');
+ }
+
+
+ // on fait l'installation ici,
+ // cela permet aux scripts d'install de faire des affichages (moches...)
+ installe_plugins();
+
+ $lpf = liste_plugin_files();
+ $plugins_interessants = @array_keys(unserialize($GLOBALS['meta']['plugins_interessants']));
+ if (!is_array($plugins_interessants))
+ $plugins_interessants = array();
+
+ echo "";
+
+ echo http_script("
+ jQuery(function(){
+ jQuery('.plugins li.item a[rel=info]').click(function(){
+ var li = jQuery(this).parents('li').eq(0);
+ var prefix = li.find('input.checkbox').attr('name');
+ if (!jQuery('div.details',li).html()) {
+ jQuery('div.details',li).prepend(ajax_image_searching).load(
+ jQuery(this).attr('href').replace(/admin_plugin|plugins/, 'info_plugin'), function(){
+ li.addClass('on');
+ }
+ );
+ }
+ else {
+ if (jQuery('div.details',li).toggle().is(':visible'))
+ li.addClass('on');
+ else
+ li.removeClass('on');
+ }
+ return false;
+ });
+ jQuery('.plugins li.item input.checkbox').change(function(){
+ jQuery(this).parents('form').eq(0).find('.boutons').slideDown();
+ });
+ });
+ ");
+
+ echo pipeline('affiche_milieu',
+ array(
+ 'args'=>array('exec'=>'admin_plugin'),
+ 'data'=>''
+ )
+ );
+
+ echo fin_gauche(), fin_page();
+ }
+}
+
+function affiche_les_extensions($liste_plugins_actifs){
+ $res = "";
+ if ($liste_extensions = liste_plugin_files(_DIR_EXTENSIONS)) {
+ $res .= "";
+ $res .= debut_cadre_trait_couleur('',true,'',_T('plugins_liste_extensions'),
+ 'liste_extensions');
+ $res .= "
"
+ ._T('plugin_info_extension_1', array('extensions' => joli_repertoire(_DIR_EXTENSIONS)))
+ . ' '. _T('plugin_info_extension_2')
+ ."
";
+
+ $format = 'liste';
+ $afficher = charger_fonction("afficher_$format",'plugins');
+ $res .= $afficher(self(), $liste_extensions,$liste_plugins_actifs, _DIR_EXTENSIONS);
+
+ $res .= fin_cadre_trait_couleur(true);
+ $res .= "
\n";
+ }
+ return $res;
+}
+
+// http://doc.spip.org/@affiche_les_plugins
+function affiche_les_plugins($liste_plugins, $liste_plugins_actifs, $format='liste'){
+ if (!$format)
+ $format = 'liste';
+ if (!in_array($format,array('liste','repertoires')))
+ $format = 'repertoires';
+
+ $afficher = charger_fonction("afficher_$format",'plugins');
+ $res = $afficher(self(), $liste_plugins,$liste_plugins_actifs);
+
+ if (!$res) return "";
+# var_dump(spip_timer('cachexml'));
+
+
+ return $res;
+}
+
+/**
+ * Afficher la liste des librairies presentes
+ *
+ * @return
+ */
+function afficher_librairies(){
+ $res = "";
+ // Lister les librairies disponibles
+ if ($libs = plugins_liste_librairies()) {
+ $res .= debut_cadre_enfonce('', true, '', _T('plugin_librairies_installees'));
+ ksort($libs);
+ $res .= '';
+ foreach ($libs as $lib => $rep)
+ $res .= "$lib ".joli_repertoire($rep)." ";
+ $res .= ' ';
+ $res .= fin_cadre_enfonce(true);
+ }
+ return $res;
+}
+
+?>
diff --git a/www/ecrire/exec/admin_repair.php b/www/ecrire/exec/admin_repair.php
new file mode 100644
index 0000000..3e9cfc9
--- /dev/null
+++ b/www/ecrire/exec/admin_repair.php
@@ -0,0 +1,55 @@
+ " MySQL $version_sql"));
+ else {
+ $message = _T('texte_requetes_echouent');
+ $ok = true;
+ }
+ }
+ $action = _T('texte_tenter_reparation');
+ }
+ if ($ok) {
+ $admin = charger_fonction('admin', 'inc');
+ echo $admin('admin_repair', $action, $message, true);
+ } else {
+ include_spip('inc/minipres');
+ echo minipres(_T('titre_reparation'), "$message
");
+ }
+}
+?>
diff --git a/www/ecrire/exec/admin_tech.php b/www/ecrire/exec/admin_tech.php
new file mode 100644
index 0000000..6299224
--- /dev/null
+++ b/www/ecrire/exec/admin_tech.php
@@ -0,0 +1,312 @@
+ ";
+ echo "",
+ gros_titre(_T('titre_admin_tech'),'',false),
+ '
';
+
+ if ($GLOBALS['connect_toutes_rubriques']) {
+
+ echo barre_onglets("administration", "sauver") . " ";
+ echo debut_gauche('',true);
+ echo debut_boite_info(true);
+ echo _T('info_gauche_admin_tech');
+ echo fin_boite_info(true);
+ $repertoire = _DIR_DUMP;
+ if (!@file_exists($repertoire)
+ AND !$repertoire = sous_repertoire(_DIR_DUMP,'',false,true)
+ ) {
+ $repertoire = preg_replace(','._DIR_TMP.',', '', _DIR_DUMP);
+ $repertoire = sous_repertoire(_DIR_TMP, $repertoire);
+ }
+ $dir_dump = $repertoire;
+
+ } else {
+ echo debut_gauche('', true);
+ $dir_dump = determine_upload();
+ }
+
+ echo debut_droite('',true);
+
+ //
+ // Sauvegarde de la base
+ //
+
+ echo debut_cadre_trait_couleur('',true,'',_T('texte_sauvegarde'),'sauvegarder');
+
+ // a passer en fonction
+ if (substr(_DIR_IMG, 0, strlen(_DIR_RACINE)) === _DIR_RACINE)
+ $dir_img = substr(_DIR_IMG,strlen(_DIR_RACINE));
+ else
+ $dir_img = _DIR_IMG;
+
+ $dir_dump = joli_repertoire($dir_dump);
+
+ $res =
+ "\n" .
+ http_img_pack('warning.gif', _T('info_avertissement'),
+ "style='width: 48px; height: 48px; float: right;margin: 10px;'") .
+ _T('texte_admin_tech_01',
+ array('dossier' => ''.$dir_dump.' ', 'img'=>''.$dir_img.' ')) .
+ ' ' .
+ _T('texte_admin_tech_02',
+ array('spipnet' => $GLOBALS['home_server']
+ . '/' . $GLOBALS['spip_lang'] . '_article1489.html'
+ )) .
+ "
";
+
+ $chercher_rubrique = charger_fonction('chercher_rubrique', 'inc');
+
+ $form = $chercher_rubrique(0, 'rubrique', !$GLOBALS['connect_toutes_rubriques'], 0, 'admin_tech');
+
+ if ($form) {
+ $res .= "\n" .
+ _T('texte_admin_tech_04') .
+ " " .
+ $form . ' ';
+ }
+ $file = nom_fichier_dump();
+ $nom = "\n ";
+ $znom = "\n ";
+
+ $res .=
+ _T('texte_admin_tech_03') .
+ "\n\n"
+ . "\n ";
+
+ $res .= options_avancees_dump();
+ echo
+ generer_form_ecrire('export_all', $res, '', _T('texte_sauvegarde_base')),
+ fin_cadre_trait_couleur(true);
+
+ //
+ // Restauration de la base
+ //
+
+ // restaurer est equivalent a detruire, ou pas (cas des restaurations partielles, a affiner ?)
+ if (autoriser('detruire')) {
+
+ echo debut_cadre_trait_couleur('',true,'', _T('texte_restaurer_base'),'restaurer');
+ echo admin_sauvegardes($dir_dump, _request('tri'));
+ echo fin_cadre_trait_couleur(true);
+
+ //
+ // Lien vers la reparation
+ //
+
+ if (!_request('reinstall') AND version_compare(sql_version(),'3.23.14','>=')) {
+ $res = "\n".
+ _T('texte_crash_base') .
+ "\n
";
+
+ echo
+ debut_cadre_trait_couleur('',true,'',_T('texte_recuperer_base'),'reparer'),
+ generer_form_ecrire('admin_repair', $res, '', _T('bouton_tenter_recuperation')),
+ fin_cadre_trait_couleur(true);
+ }
+ }
+ echo " ";
+
+ echo fin_gauche(), fin_page();
+ }
+}
+
+function admin_sauvegardes($dir_dump, $tri)
+{
+ $liste_dump = preg_files(_DIR_DUMP,'\.xml(\.gz)?$',50,false);
+ $selected = end($liste_dump);
+ $n = strlen(_DIR_DUMP);
+ $tl = $tt = $td = array();
+ $f = "";
+ $i = 0;
+ foreach($liste_dump as $fichier){
+ $i++;
+ $d = filemtime($fichier);
+ $t = filesize($fichier);
+ $s = ($fichier==$selected);
+ $class = 'row_'.alterner($i, 'even', 'odd');
+ $fichier = substr($fichier, $n);
+ $tl[]= liste_sauvegardes($i, $fichier, $class, $s, $d, $t);
+ $td[] = $d;
+ $tt[] = $t;
+ }
+ if ($tri == 'taille')
+ array_multisort($tt, SORT_ASC, $tl);
+ elseif ($tri == 'date')
+ array_multisort($td, SORT_ASC, $tl);
+ $fichier_defaut = $f ? basename($f) : str_replace(array("@stamp@","@nom_site@"),array("",""),_SPIP_DUMP);
+
+ $self = self();
+ $class = 'row_'.alterner($i+1, 'even', 'odd');
+ $head = !$tl ? '' : (
+ "\n"
+ . ''
+ . _T('info_nom')
+ . " \n" . ''
+ . _T('taille_octets', array('taille' => ''))
+ . " \n" . ''
+ . _T('public:date')
+ . ' ');
+
+ $texte = _T('texte_compresse_ou_non')." ";
+
+ $h = _T('texte_restaurer_sauvegarde', array('dossier' => ''.$dir_dump.' '));
+
+ $res = "\n "
+ . $h
+ . '
'
+ . _T('entree_nom_fichier', array('texte_compresse' => $texte))
+
+ . "\n ';
+
+
+ $plie = _T('info_options_avancees');
+ // restauration partielle / fusion
+ $opt = debut_cadre_enfonce('',true) .
+ "\n" .
+ " ".
+ _T('sauvegarde_fusionner') .
+ " \n" .
+ " \n".
+ _T('sauvegarde_fusionner_depublier') .
+ " \n" .
+ "" .
+ _T('sauvegarde_url_origine') .
+ " " .
+ " \n " .
+ '
' .
+ fin_cadre_enfonce(true);
+
+ $res .= block_parfois_visible('import_tables', $plie, $opt, '', false);
+
+ return generer_form_ecrire('import_all', $res, '', _T('bouton_restaurer_base'));
+}
+
+
+// http://doc.spip.org/@liste_sauvegardes
+function liste_sauvegardes($key, $fichier, $class, $selected, $date, $taille)
+{
+ return "\n\n"
+ . str_replace('/', ' / ', $fichier)
+ . " "
+ . taille_en_octets($taille)
+ . ' '
+ . affdate_heure(date('Y-m-d H:i:s',$date))
+ . ' ';
+}
+
+// http://doc.spip.org/@nom_fichier_dump
+function nom_fichier_dump()
+{
+ global $connect_toutes_rubriques;
+
+ if ($connect_toutes_rubriques AND file_exists(_DIR_DUMP))
+ $dir = _DIR_DUMP;
+ else $dir = determine_upload();
+ $site = isset($GLOBALS['meta']['nom_site'])
+ ? preg_replace(array(",\W,is",",_(?=_),",",_$,"),array("_","",""), couper(translitteration(trim($GLOBALS['meta']['nom_site'])),30,""))
+ : 'spip';
+
+ $site .= '_' . date('Ymd');
+
+ $nom = $site;
+ $cpt=0;
+ while (file_exists($dir. $nom . ".xml") OR
+ file_exists($dir. $nom . ".xml.gz")) {
+ $nom = $site . sprintf('_%03d', ++$cpt);
+ }
+ return $nom;
+}
+
+
+function options_avancees_dump(){
+ list($tables,) = base_liste_table_for_dump(lister_tables_noexport());
+ $plie = _T('info_options_avancees');
+ $res = controle_tables_en_base('export', $tables);
+ $res = ""._T('install_tables_base')." "
+ . "\n\n" .
+ join(" \n", $res) .
+ " \n";
+
+ $res = block_parfois_visible('export_tables', $plie, $res, '', false);
+ return $res;
+}
+
+
+// Fabrique la liste a cocher des tables presentes
+function controle_tables_en_base($name, $check)
+{
+ $p = '/^' . $GLOBALS['table_prefix'] . '/';
+ $res = $check;
+ foreach(sql_alltable() as $t) {
+ $t = preg_replace($p, 'spip', $t);
+ if (!in_array($t, $check)) $res[]= $t;
+ }
+ sort($res);
+
+ foreach ($res as $k => $t) {
+
+ $res[$k] = " \n"
+ . $t
+ . " ("
+ . sql_countsel($t)
+ . ")";
+ }
+ return $res;
+}
+
+?>
diff --git a/www/ecrire/exec/admin_vider.php b/www/ecrire/exec/admin_vider.php
new file mode 100644
index 0000000..905f059
--- /dev/null
+++ b/www/ecrire/exec/admin_vider.php
@@ -0,0 +1,128 @@
+ joli_repertoire(_DIR_VAR),
+ 'taille' => "".taille_en_octets($taille)." "
+ )
+ );
+}
+
+// http://doc.spip.org/@exec_admin_vider_dist
+function exec_admin_vider_dist()
+{
+ global $quota_cache, $spip_lang;
+
+ // autorisation a affiner
+ if (!autoriser('configurer', 'admin_vider')){
+ include_spip('inc/minipres');
+ echo minipres();
+ } else {
+ $commencer_page = charger_fonction('commencer_page', 'inc');
+ echo $commencer_page(_T('onglet_vider_cache'), "configuration", "cache");
+
+ echo " ";
+ echo gros_titre(_T('titre_admin_vider'),'', false);
+// barre_onglets("administration", "vider");
+
+ echo debut_gauche("",true);
+
+ echo debut_boite_info(true);
+
+ echo _T('info_gauche_admin_vider');
+
+ echo fin_boite_info(true);
+
+ echo debut_droite("",true);
+
+ echo debut_cadre_trait_couleur("cache-24.gif", true, "", _T('texte_vider_cache'));
+
+ echo "\n"._T('texte_suppression_fichiers')."
",
+ ""._T('texte_recalcul_page')."
";
+
+ echo "\n
";
+
+//
+// Quota et taille du cache
+//
+ echo debut_cadre_relief("", true, "", _T('taille_repertoire_cache'));
+
+ include_spip('inc/invalideur');
+ if (($n = taille_du_cache())>250*1024)
+ $info = _T('taille_cache_octets', array('octets' => taille_en_octets($n)));
+ else
+ $info = _T('taille_cache_vide');
+
+ echo "$info
\n";
+
+ echo "\n";
+ if ($quota_cache) {
+ echo _T('taille_cache_maxi',
+ array('octets' => taille_en_octets($quota_cache*1024*1024)));
+ } else {
+ echo _T('taille_cache_infinie');
+ }
+
+ echo ' (', _T('cache_modifiable_webmestre'),')
',
+ redirige_action_post('purger', 'cache', "admin_vider", '',
+ "\n
");
+ echo fin_cadre_relief(true);
+
+ echo debut_cadre_relief("image-24.gif", true, "", _T('info_images_auto'));
+
+ echo afficher_taille_cache_vignettes();
+
+ echo redirige_action_post('purger', 'vignettes', "admin_vider",'',
+ "\n
");
+
+ echo fin_cadre_relief(true);
+
+ echo fin_cadre_trait_couleur(true);
+ echo " ";
+ echo fin_gauche(), fin_page();
+ }
+}
+?>
diff --git a/www/ecrire/exec/aide_index.php b/www/ecrire/exec/aide_index.php
new file mode 100644
index 0000000..1e7b5d0
--- /dev/null
+++ b/www/ecrire/exec/aide_index.php
@@ -0,0 +1,415 @@
+([^/]+?)(?:/(.+?))?,ism');
+
+// Les appels a soi-meme (notamment les images)
+// doivent etre en relatif pour pouvoir creer un cache local
+
+function generer_url_aide($args)
+{
+ return generer_url_ecrire('aide_index', $args, false, true);
+}
+
+function help_fichier_contenu ($lang_aide, $path, $help_server) {
+ $contenu = array();
+ include_spip('inc/distant');
+ foreach ($help_server as $k => $server) {
+ // Remplacer les liens aux images par leur gestionnaire de cache
+ $url = "$server/$path";
+ $page = help_replace_img(recuperer_page($url),$k);
+ // les liens internes ne doivent pas etre deguises en externes
+ $url = parse_url($url);
+ $re = '@(]*\s+href=["\'])' .
+ '(?:' . $url['scheme'] . '://' . $url['host'] . ')?' .
+ $url['path'] . '([^"\']*)@ims';
+ $page = preg_replace($re,'\\1\\2', $page);
+
+ preg_match_all(_SECTIONS_AIDE, $page, $sections, PREG_SET_ORDER);
+ // Fusionner les aides ayant meme nom de section
+ $vus = array();
+ foreach ($sections as $section) {
+ list($tout,$prof, $sujet,) = $section;
+ if (in_array($sujet, $vus)) continue;
+ $corps = help_section($sujet, $page, $prof);
+ foreach ($contenu as $k => $s) {
+ if ($sujet == $k) {
+ // Section deja vue qu'il faut completer
+ // Si le complement a des sous-sections,
+ // ne pas en tenir compte quand on les rencontrera
+ // lors des prochains passages dans la boucle
+ if (preg_match_all(_SECTIONS_AIDE, $corps, $m, PREG_PATTERN_ORDER)) {
+ if ($m) {$vus = array_merge($vus, $m[2]);}
+ $contenu[$k] .= $corps;
+ $corps = '';
+ break;
+ } else spip_log("aide $server $section incorrecte");
+ }
+ }
+ // Si totalement nouveau, inserer le titre
+ // mais pas le corps s'il contient des sous-sections:
+ // elles vont venir dans les passages suivants
+ if ($corps) {
+ $corps = help_section($sujet, $page);
+ $contenu[$sujet] = $tout . "\n" . $corps;
+ }
+ }
+ }
+
+ // Renvoyer les liens vraiment externes dans une autre fenetre
+ $contenu = preg_replace('@ ]*)>@',
+ ' ',
+ join('',$contenu));
+
+
+ if (strlen($contenu) <= 75) return array(false, false);
+
+ // Correction typo dans la langue demandee
+ changer_typo($lang_aide);
+ return '' . justifier("$contenu
") . '';
+}
+
+// http://doc.spip.org/@help_lastmodified
+function help_lastmodified($lastmodified)
+{
+ $gmoddate = gmdate("D, d M Y H:i:s", $lastmodified);
+ header("Last-Modified: ".$gmoddate." GMT");
+ if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
+ # MSoft IIS is dumb
+ AND !preg_match(',IIS/,', $_SERVER['SERVER_SOFTWARE'])) {
+
+ $ims = preg_replace('/;.*/', '',
+ $_SERVER['HTTP_IF_MODIFIED_SINCE']);
+ $ims = trim(str_replace('GMT', '', $ims));
+ if ($ims == $gmoddate) {
+ http_status(304);
+ return true;
+ }
+ }
+ return false;
+}
+
+// Les aides non mises a jour ont un vieux Path a remplacer
+// (mais ce serait bien de le faire en SQL une bonne fois)
+define('_REPLACE_IMG_PACK', "@( ]* +)?\s*src=['\"])img_pack\/@ims");
+
+// Remplacer les URL des images par l'URL du gestionnaire de cache local
+
+function help_replace_img($contenu, $server=0)
+{
+ $html = "";
+ $re = "@( ]* +)?\s*src=['\"])((AIDE|IMG|local)/([-_a-zA-Z0-9]*/?)([^'\"<>]*))@imsS";
+ while (preg_match($re, $contenu, $r)) {
+ $p = strpos($contenu, $r[0]);
+ $i = $server . ':' . str_replace('/', '-', $r[3]);
+ $h = generer_url_aide("img=" . $i);
+ $html .= substr($contenu, 0, $p) . $r[1] . $h;
+ $contenu = substr($contenu, $p + strlen($r[0]));
+ }
+ $html .= $contenu;
+
+ // traiter les vieilles doc
+ return preg_replace(_REPLACE_IMG_PACK,"\\1"._DIR_IMG_PACK, $html);
+}
+
+// un bout de squelette qu'il serait bon d'evacuer un jour.
+
+define('_HELP_PANNEAU', "
+
+
+ Système de publication pour l'Internet
+
+ ");
+
+// Autre squelette qui ne s'avoue pas comme tel
+
+// http://doc.spip.org/@help_body
+function help_body($aide) {
+
+ if (!$aide) {
+ $c = _T('info_copyright_doc',
+ array('spipnet' => $GLOBALS['home_server']
+ . '/' . $GLOBALS['spip_lang']
+ . '_'));
+ return "
" .
+ _HELP_PANNEAU .
+ preg_replace(",
';
+ } elseif ($aide == 'spip') {
+ return "
+
+
+
+
";
+ } return '';
+}
+
+
+// Extraire la seule section demandee,
+// qui commence par son nom entouree d'une balise h2
+// et se termine par la prochaine balise h2 ou h1 ou le /body final.
+
+function help_section($aide, $contenu, $prof=2)
+{
+ $maxprof = ($prof >=2) ? "12" : "1";
+ $r = "@
\s*' . $aide
+ ."\s*(?:/.+?)? (.*?)<(?:(?:h[$maxprof])|/body)@ism";
+
+ if (preg_match($r, $contenu, $m))
+ return $m[1];
+ return '';
+}
+
+
+
+// Affichage du menu de gauche avec analyse de la section demandee
+// afin d'ouvrir le sous-menu correspondant a l'affichage a droite
+// http://doc.spip.org/@help_menu_rubrique
+function help_menu_rubrique($aide, $contenu)
+{
+ global $spip_lang;
+
+ $afficher = false;
+ $ligne = $numrub = 0;
+ $texte = $res = '';
+ preg_match_all(_SECTIONS_AIDE, $contenu, $sections, PREG_SET_ORDER);
+ foreach ($sections as $section) {
+ list(,$prof, $sujet, $bloc) = $section;
+ if ($prof == '1') {
+ if ($afficher && $texte)
+ $res .= block_parfois_visible("block$numrub", "
$titre
", "\n$texte",'', $ouvrir);
+ $afficher = $bloc ? ($bloc == 'redac') : true;
+ $texte = '';
+ if ($afficher) {
+ $numrub++;
+ $ouvrir = 0;
+ $titre = $sujet;
+ }
+ } else {
+ ++$ligne;
+ $id = "ligne$ligne";
+
+ if ($aide == $sujet) {
+ $ouvrir = 1;
+ $class = "article-actif";
+ $texte .= http_script("curr_article = '$id';");
+ } else $class = "article-inactif";
+
+ $h = generer_url_aide("aide=$sujet&frame=body&var_lang=$spip_lang");
+ $texte .= "
"
+ . $bloc
+ . " \n";
+ }
+ }
+ if ($afficher && $texte)
+ $res .= block_parfois_visible("block$numrub", "
$titre
", "\n$texte",'', $ouvrir);
+ return $res;
+}
+
+function help_frame_menu($titre, $contenu, $lang)
+{
+ global $spip_lang_rtl;
+
+ return "\n
" .$titre ." \n" .
+ '
\n" .
+ http_script('', 'jquery.js') .
+ "\n" .
+ $GLOBALS['browser_layer'] .
+ http_script('var curr_article;
+function activer_article(id) {
+ if (curr_article)
+ jQuery("#"+curr_article).removeClass("article-actif").addClass("article-inactif");
+ if (id) {
+ jQuery("#"+id).removeClass("article-inactif").addClass("article-actif");
+ curr_article = id;
+ }
+}
+') . '
+
+' .
+ $contenu .
+ '';
+}
+
+function help_frame_body($titre, $aide, $html, $lang_aide='')
+{
+ global $spip_lang_rtl;
+ $dir = $spip_lang_rtl ? " dir='rtl'" : '';
+
+ return "\n
$titre \n".
+ '
\n".
+ "\n".
+ '".
+ help_body($aide) .
+ ($aide ? $html : '').
+ '';
+}
+
+function help_frame_frame($titre, $aide, $lang)
+{
+ global $spip_lang_rtl;
+ $menu = "
\n";
+ $body = "
\n";
+
+ $seq = $spip_lang_rtl ? "$body$menu" : "$menu$body";
+ $dim = $spip_lang_rtl ? '*,160' : '160,*';
+ return "\n
$titre \n\n
$seq ";
+}
+
+// http://doc.spip.org/@help_img_cache
+function help_img_cache($img, $ext)
+{
+ header("Content-Type: image/$ext");
+ header("Expires: ".gmdate("D, d M Y H:i:s", time()+24*3600) .' GMT');
+ readfile($img);
+}
+
+// Regexp reperant le travail fait par help_replace_img
+define('_HELP_PLACE_IMG',',^(\d+:)?(([^-.]*)-([^-.]*)-([^\.]*\.(gif|jpg|png)))$,');
+
+// Distinguer la demande d'une image et la demande d'un texte.
+// Si c'est une URL d'image deguisee, on la cherche dans le cache ou on l'y met.
+// Voir les differentes localisations possibles dans help_replace_img
+//
+// http://doc.spip.org/@exec_aide_index_dist
+function exec_aide_index_dist()
+{
+ global $help_server;
+ if (!is_array($help_server)) $help_server = array($help_server);
+ if (!preg_match(_HELP_PLACE_IMG, _request('img'), $r)) {
+ aide_index_frame(_request('var_lang_r'),
+ _request('lang_r'),
+ _request('frame'),
+ strtr(_request('aide'),'<>"\'', '____'),
+ $help_server);
+ } else {
+ list (,$server, $cache, $rep, $lang, $file, $ext) = $r;
+ if ($rep=="IMG" AND $lang=="cache"
+ AND @file_exists($img = _DIR_VAR.'cache-TeX/'.preg_replace(',^TeX-,', '', $file))) {
+ help_img_cache($img, $ext);
+ } else if (@file_exists($img = _DIR_AIDE . $cache)) {
+ help_img_cache($img, $ext);
+ } else if (@file_exists($img = _DIR_RACINE . 'AIDE/aide-'.$cache)) {
+ help_img_cache($img, $ext);
+ } else {
+ $server = intval(substr($server, 0, -1));
+ if ($server = $help_server[$server]) {
+ include_spip('inc/distant');
+ sous_repertoire(_DIR_AIDE,'','',true);
+ $img = "$server/$rep/$lang/$file";
+ $contenu = recuperer_page($img);
+ if ($contenu) {
+ ecrire_fichier (_DIR_AIDE . $cache, $contenu);
+ // Bug de certains OS:
+ // le contenu est incompris au premier envoi
+ // Donc ne pas mettre d'Expire
+ header("Content-Type: image/$ext");
+ echo $contenu;
+ } else redirige_par_entete($img);
+ } else redirige_par_entete(generer_url_public('404'));
+ }
+ }
+}
+
+// Determiner la langue L, et en deduire le Path du fichier d'aide.
+// Sur le site www.spip.net/, ca donne l'URL www.spip.net/L-aide.html
+// reecrit par le htacces suivant:
+// http://zone.spip.org/trac/spip-zone/browser/_galaxie_/www.spip.net/squelettes/htaccess.txt
+
+function aide_index_frame($var_lang_r, $lang_r, $frame, $aide, $help_server)
+{
+ global $spip_lang;
+
+ if ($var_lang_r)
+ changer_langue($lang = $var_lang_r);
+ if ($lang_r)
+ # pour le cas ou on a fait appel au menu de changement de langue
+ # (aide absente dans la langue x)
+ changer_langue($lang = $lang_r);
+ else $lang = $spip_lang;
+
+ // L'aide correspondant a la langue demandee est dans un cache
+ // reposant sur la date du fichier indiquant la version de SPIP
+ // (approximatif, mais c'est deja qqch)
+
+ $path = $spip_lang . "-aide.html";
+ $md5 = md5(serialize($help_server));
+ $fichier = _DIR_AIDE . substr($md5,0,16) . "-" . $path;
+ $lastm = is_readable($fichier) ? filemtime($fichier) : 0;
+ $lastversion = @filemtime(_DIR_RESTREINT . 'inc_version.php');
+ if (!($lastm AND ($lastm >= $lastversion))) {
+ $contenu = help_fichier_contenu($spip_lang, $path, $help_server);
+ // mettre en cache (tant pis si echec)
+ sous_repertoire(_DIR_AIDE,'','',true);
+ if ($contenu) ecrire_fichier ($fichier, $contenu);
+ $lastm = time();
+ }
+ $titre = _T('info_aide_en_ligne');
+ if (!$frame) {
+ echo _DOCTYPE_AIDE, html_lang_attributes();
+ echo help_frame_frame($titre, $aide, $lang);
+ echo "\n